新井 正貴

2015.07.08

Instagram開発者に送る、注意すべきAPI規約/ブランド規約まとめ

お久しぶりです。Perfumeエンジニアの@massa142です。
今年のPerfumeはメジャーデビュー10周年、結成15周年というAnniversary Yearを迎えて、大いに盛り上がっています。Perfume Anniversary Website

9月に行われるAnniversary 10daysイベントに向けて、コンディションとスケジュールを万全に整えにいっている次第ですm(_ _)m

前置きはさておき、今回はInstagram関連のサービス開発について取り上げていきます。
(Perfumeの公式Instaアカウントが開設されていないことが残念でなりません…)

はじめに

だいぶ前になりますが去年の11月に、Instagram × プロモーションキャンペーンを実施 / 管理できるASPツールを開発しました。pictag(ピクタグ) – 写真を投稿してキャンペーンに応募しよう!
サービスLPはこちら

その際、Instagram APIの使い方や、APIで何ができるかといったことを解説したドキュメントは世の中に豊富にあり、開発を進めていく上でおおいに助かりました。
ただ、実際にサービスを会社のプロダクトとして展開する上で遵守しなければならない、API利用規約やブランド規約まわりのことを言及している資料は公式ドキュメント以外ほぼありませんでした…

そこで、本記事では上記サービス開発の経験を踏まえて、気をつけないと見落としがちな規約ポイントを抽出してまとめていこうと思います。

※ 本記事は以下の公式な資料をもとに記述しています。(2015/07/01 時点)

API利用規約

  • You shall not Display more than 30 Instagram photos or videos per page in your application or use an unreasonable amount of bandwidth.

アプリケーションの1ページに30を超えるInstagramの写真または動画が表示されるようにしたり、理不尽な量の帯域幅を利用したりしてはなりません。

Instagramから引っ張ってきた写真/動画を表示できるのは30枚/ページと規定されています!
ここで言っているページングの定義は曖昧ですが、Infinite ScrollのようなUIは数多く見受けられるのでOKだと思われます。(スクロールで発生するリクエスト単位をページングと捉えることができる。)

  • The ability to POST and DELETE likes, follows and comments is restricted to applications that offer business services and not consumer facing apps.

「いいね!」と「フォロー」、「コメント」についてのPOSTとDELETE APIに関しては、consumer向けアプリではないビジネスサービスを提供しているアプリケーションにしか利用できないよう制限する。

2015年の4月の改定によって、「いいね!」と「フォロー」のPOST/DELETE APIの利用はInstagramへの申請が必要となりました。(すでに「コメント」投稿のAPIは、2014年7月からこの対応が行われていました。)

申請フォームは以下となっています。
※開発段階でのアプリケーションでは申請が行えないので、注意してください。
https://help.instagram.com/contact/185819881608116

この改定の背景には、「いいね!」「フォロー」を条件にインセンティブを付与するという仕組みをなくしたいという意図が見て取れます。
Instagramは2012年にFacebookに買収されているため、Facebookが2014年8月に行ったプラットフォーム・ポリシー変更の影響が多少なりともあるのではないかと考えられます。(Facebookのプラットフォーム・ポリシー変更に関して、詳しくはSMMLabの記事を参照ください。)

  • You must not access Instagram’s private API by means other than those permitted by Instagram. Use of Instagram’s API is subject to a separate set of terms available here: http://instagram.com/about/legal/terms/api/ (“API Terms”).

利用者は、Instagramが認めていない方法でInstagramが公開していないAPIへアクセスすることはできません。InstagramのAPIの利用については、「API利用規約」に掲載されている規定が適用されます。

これは開発者としては当然のルールなのですが、以下のようなニュースが一時盛り上がったので紹介しておきます。
17歳の高校生がInstagramのプライベートAPIを使用した「MacからInstagramへ写真を投稿出来るアプリ」をリリースして様々な議論を起こしているもよう。

Instagramでは公開されているAPIを通じて数多くのことができますが、この記事にもある通り、写真/動画をアップロードするためのAPIに関してはいまだ公開されていません。

ブランド規約

  • Always default to using the glyph to show off your presence on Instagram. Only use the multi-color camera logo if you’re encouraging people to download the Instagram app.

InstagramネイティブアプリのDLを促すときに限り、multi-color camera logoを使用できます。それ以外でInstagramを表現する場合は、glyphを使用してください。

Instagram_logo

左がGLYPH、右がMULTI-COLOR CAMERAです。
この規約に反して、MULTI-COLOR CAMERAのロゴを利用しているサイトがよく見受けられます。
気をつけましょう…

  • If you’re planning to embed Instagram content on your website, remember to Provide clear attribution to Instagram and any people whose content you’re using.

Instagramコンテンツをwebサイトに埋め込む場合は、そのコンテンツがInstagramに帰属することと、どのInstagramユーザの投稿であるかを明確に示さなければならない。

また、Instagramに投稿された写真/動画の所有権は、Instagramではなく投稿ユーザにあるとも明記されています。
Instagramは、埋め込み用コード取得の統一規格であるoEmbedを採用しているので、簡単に埋め込みが実現できると思います。Embedding • Instagram Developer Documentation

  • Try using “[Your App Name] for Instagram” to indicate that your product is integrated with Instagram. Avoid using the words “Instagram,” “IG,” “insta” or “gram” in any other way.

(Instagram APIを利用していたり、Instagramに関連したサービスを提供しているならば、) そのプロダクトがInstagramを組み込んでいることを示すために、「[Your App Name] for Instagram」といった名称を推奨します。 「Instagram」や「IG」,「insta」,「gram」のワードを使用することは控えなさい。

この規約は2013年に改定されて、多くのサービスが打撃を受けて話題になりました。
Instagram、関連アプリ名に“Insta”と “Gram” を禁止―打撃を受けるアプリ多数 | TechCrunch Japan

まとめ

以上、InstagramのAPI利用規約とブランド規約をざっとまとめてきました。
Instagramの開発スピードは速く、デザインや機能が頻繁にアップデートされています。それは今回見てきた規約の面でも同じことが言えます。

今後いつ重大な規約の変更が行われるかわかりませんが、開発者は常にInstagram側の情報をキャッチアップしておく必要があります。
そのため情報源として、Instagram Developersという開発者向けの公式ブログが用意されています。
ここでの投稿でInstagramが実施した改定内容や、今後実施予定のアップデートなどに関しても説明がされているので、ぜひチェックしてみてください。

それでは、みなさん規約を守って楽しいInstagram開発ライフを!