Facebookログインを使ったInstagram APIは、FacebookグラフAPIエンドポイントのコレクションであり、アプリでこれを利用することにより、Instagramプロアカウント(ビジネスアカウントとクリエイターアカウントの両方)のデータにアクセスすることができます。FacebookグラフAPIにあまり詳しくない場合は、先にグラフAPIドキュメントをご覧ください。
すべてのエンドポイントは、graph.facebook.com
ホストを通じてアクセス可能です。
InstagramプロアカウントにはFacebookアカウントを利用して間接的にアクセスするため、アプリユーザーにはFacebookアカウントが必要であり、そのアカウントを使用してアプリにサインインしなければなりません。さらに、そのFacebookアカウントでは、アクセス対象のInstagramアカウントに接続されているFacebookページ上で管理者に相当するさまざまなタスクを実行することが可能でなければなりません。
これらの要件は、アプリ上で、またはアプリを取得したビジネス上で役割を与えられているユーザーも含め、すべてのアプリユーザーに適用されます。
アプリユーザーの認証は、アクセストークンによって処理されます。InstagramプロアカウントにはFacebookアカウントを通じて間接的にアクセスするため、すべてのAPIリクエストには、アプリユーザーのFacebookユーザーアクセストークンが含まれていなければなりません。トークンは、Facebookログインを実装することにより、アプリユーザーから入手できます。FacebookログインではInstagram認証情報がサポートされないため、アプリユーザーはFacebookアカウントを使用してサインインする必要があることに注意してください。
エンドポイント認証は、さまざまなアクセス許可および機能を通じて処理されます。アプリでエンドポイントを使用してアプリユーザーのInstagramデータにアクセスするには、その前に、まずアプリユーザーから、それらのエンドポイントで必要なすべてのアクセス許可をリクエストする必要があります。その上で、アプリユーザーは、アプリにそれらのアクセス許可を付与する必要があります。付与されたら、ユーザーのデータにアクセスするためのエンドポイントのクエリを実行できます。
アクセス許可でアクセスできるのは、そのアクセス許可を付与したユーザーによって作成されたデータのみであることに注意してください。アプリユーザーが作成していないデータにアプリからアクセスできるようにするエンドポイントもいくつかありますが、アクセス可能なデータは、公開されているデータに限定されています。
アプリユーザーからアクセス許可をリクエストするには、Facebookログインを実装します。アプリ上で役割を与えられているアプリユーザーは、リクエストされたアクセス許可をすべて付与することができます。アプリ上で役割を与えられていないアプリユーザーが付与できるのは、アプリレビュー処理を通じて承認されたアクセス許可および機能のみです。
APIで使用するアクセス許可および機能は、次のとおりです:
アプリでアプリユーザーからどのアクセス許可と機能をリクエストする必要があるかを調べるには、Facebookのエンドポイントリファレンスをご覧ください。
MessengerプラットフォームからInstagramメッセージを実装する予定の場合は、instagram_manage_messages
アクセス許可を含める必要があります。Instagramメッセージについての詳細を確認ください。
Instagramコラボ機能により、Instagramアプリユーザーは、他のアカウント(共同投稿者)のコンテンツ(つまり公開メディア)の共同作者になれます。
いくつか例外がありますが、共同作者になったメディア上のデータやそのメディアに関連するデータには、メディアを公開したユーザーだけがAPIを使用してアクセスできます。共同投稿者はAPIを使ってこのデータにはアクセスできません。例外となるのは、パフォーマンスが最も高いメディアを検索したり、特定のハッシュタグが付いた、最近公開されたメディアを検索したりする場合だけです。ハッシュタグ検索をご覧ください。
InstagramプロアカウントのデータにAPIを通じてアクセスするには、その前にそれらのアカウントがFacebookページに接続されていなければなりません。接続後、そのページでタスクを実行できるFacebookユーザーは、アプリにアクセストークンを付与できるようになります。そのアクセストークンをAPIリクエストで使用できます。
FacebookページをInstagramプロアカウントにリンクする方法については、InstagramプロアカウントにリンクされているFacebookページを追加または変更するのヘルプ記事の中で説明されています。
アプリにアクセス許可を付与するアプリユーザーは、アクセス対象のInstagramアカウントに接続されているFacebookページ上でタスクを実行可能でなければなりません。アプリユーザーは、自身が実行可能なタスクに基づいて、次のようにアプリにアクセス許可を付与することができます。
アクセス許可 | MANAGE | CREATE_CONTENT | MODERATE | ADVERTISE | ANALYZE |
---|---|---|---|---|---|
instagram_basic | ✔ | ✔ | ✔ | ✔ | ✔ |
instagram_content_publish | ✔ | ✔ | |||
instagram_manage_comments | ✔ | ✔ | ✔ | ||
instagram_manage_insights | ✔ | ✔ | ✔ | ✔ | ✔ |
アプリユーザーがページ上でどのタスクを実行できるかを調べるには、そのアプリユーザーのユーザーアクセストークンを使用してGET /me/accounts
エンドポイントに対するクエリを実行します。そのエンドポイントから、アプリユーザーによるタスクの実行が可能なページのリストが返され、そのそれぞれにおいてそのユーザーがどのタスクを実行できるが示されます。
各エンドポイントでどのアクセス許可が必要かについては、リファレンスドキュメントをご覧ください。APIは、ライブ寄稿者の役割を持つアプリユーザーをサポートしていません。
アプリユーザーに対してタスクについて(およびアプリを適切に使用するにはどのタスクが必要か)知らせる必要がある場合、FacebookのさまざまなUIにおいてタスクが参照される方法を以下に示します。
クラシックページではタスクを役割として参照しています。ページ上で管理者役割を付与されているアプリユーザーは、アプリにどのアクセス許可でも付与できます。その他の役割を付与されたアプリユーザーは、次のようにアクセス許可を付与できます。
役割 | 付与可能なアクセス許可 |
---|---|
編集者 | instagram_basic |
モデレーター | instagram_basic |
広告主 | instagram_basic |
アナリスト | instagram_basic |
新しいエクスペリエンスのページでは、タスクをFacebookアクセスまたはタスクアクセスのいずれかとして参照しています。ページ上でFacebookアクセスを付与されているアプリユーザーは、アプリにどのアクセス許可でも付与できます。タスクアクセスを付与されたアプリユーザーは、次のようにアクセス許可を付与できます。
タスクアクセス | 付与可能なアクセス許可 |
---|---|
広告 | instagram_basic |
コンテンツ | instagram_basic |
インサイト | instagram_basic |
メッセージ&コミュニティアクティビティ | instagram_basic |
ページが新しいエクスペリエンスを使用しているかどうかは、ページのhas_transitioned_to_new_page_experience
フィールドをリクエストすることで判別できます。ページが新しいエクスペリエンスを使用している場合、この値はtrue
を返します。
アプリに対する役割も、そのアプリを取得したビジネスに対する役割も与えられていないアプリユーザーがアプリを使用するには、そのアプリのアプリレビューが完了していなければなりません。アプリを使用するのが、そのアプリまたはビジネスに対する役割を与えられているアプリユーザーだけであれば、アプリレビューを完了する必要はありません。
Facebookログインを実装しており、かつアプリが公開されている場合は、アプリレビューの申請にFacebookテストユーザーの認証情報を含める必要はありません。ただし、Facebookのレビュー担当者が、Facebookログインの実装をトリガーするためにFacebook以外のアカウントにサインインする必要がある場合は、そのFacebook以外のアカウントの認証情報を申請に含める必要があります。
アプリが非公開のイントラネットの内側にある、インターフェイスを持たない、またはFacebookログインを実装していないことが原因で、Facebookのレビュー担当者がそのアプリのテストを実行できない場合、リクエストできるのは、以下のアクセス許可に対する承認のみです。
アプリを使用するのが、そのアプリ自体に対する役割もそのアプリを取得したビジネスに対する役割も与えられていないアプリユーザーである場合は、ビジネス認証を完了する必要があります。
すべてのエンドポイントには、Instagramビジネス使用事例レート制限が適用されます。ただし、ビジネスディスカバリーおよびハッシュタグ検索のエンドポイントは例外であり、それらに適用されるのはプラットフォームレート制限です。
Webhooksを使用すると、アプリユーザーのメディアオブジェクトについて誰かがコメントしたときや、アプリユーザーのストーリーのいずれかが期限切れになったときに通知が送信されるように設定できます。Webhooksの使用方法を学習し、Instagram
トピックにWebhookを設定して、そのcomments
フィールドとstory_insights
フィールドにサブスクリプション登録するには、Webhooksに関するドキュメントをご覧ください。
いくつかのFacebookログインを使ったInstagram APIエンドポイントがMessengerプラットフォームエンドポイントと組み合わせて使用され、アプリユーザーがInstagramプロアカウントに送信されたダイレクトメッセージとやり取りできるようになります。MessengerプラットフォームのInstagramメッセージに関するドキュメントを参照し、Instagramビジネスアカウントのメッセージにアクセスする方法を確認してください。