概要

InstagramグラフAPIは、FacebookグラフAPIエンドポイントのコレクションであり、アプリでこれを利用することにより、Instagramプロアカウント(ビジネスアカウントとクリエイターアカウントの両方)のデータにアクセスすることができます。FacebookグラフAPIにあまり詳しくない場合は、先にグラフAPIドキュメントをご覧ください。

ベースURL

すべてのエンドポイントは、graph.facebook.comホストを通じてアクセス可能です。

アプリユーザー

InstagramプロアカウントにはFacebookアカウントを利用して間接的にアクセスするため、アプリユーザーにはFacebookアカウントが必要であり、そのアカウントを使用してアプリにサインインしなければなりません。さらに、そのFacebookアカウントでは、アクセス対象のInstagramアカウントに接続されているFacebookページ上で管理者に相当するさまざまなタスクを実行することが可能でなければなりません。

これらの要件は、アプリ上で、またはアプリを取得したビジネス上で役割を与えられているユーザーも含め、すべてのアプリユーザーに適用されます。

認証

アプリユーザーの認証は、アクセストークンによって処理されます。InstagramプロアカウントにはFacebookアカウントを通じて間接的にアクセスするため、すべてのAPIリクエストには、アプリユーザーのFacebookユーザーアクセストークンが含まれていなければなりません。トークンは、Facebookログインを実装することにより、アプリユーザーから入手できます。FacebookログインではInstagram認証情報がサポートされないため、アプリユーザーはFacebookアカウントを使用してサインインする必要があることに注意してください。

認証

エンドポイント認証は、さまざまなアクセス許可および機能を通じて処理されます。アプリでエンドポイントを使用してアプリユーザーのInstagramデータにアクセスするには、その前に、まずアプリユーザーから、それらのエンドポイントで必要なすべてのアクセス許可をリクエストする必要があります。その上で、アプリユーザーは、アプリにそれらのアクセス許可を付与する必要があります。付与されたら、ユーザーのデータにアクセスするためのエンドポイントのクエリを実行できます。

アクセス許可でアクセスできるのは、そのアクセス許可を付与したユーザーによって作成されたデータのみであることに注意してください。アプリユーザーが作成していないデータにアプリからアクセスできるようにするエンドポイントもいくつかありますが、アクセス可能なデータは、公開されているデータに限定されています。

アプリユーザーからアクセス許可をリクエストするには、Facebookログインを実装します。アプリ上で役割を与えられているアプリユーザーは、リクエストされたアクセス許可をすべて付与することができます。アプリ上で役割を与えられていないアプリユーザーが付与できるのは、アプリレビュー処理を通じて承認されたアクセス許可および機能のみです。

APIで使用するアクセス許可および機能は、次のとおりです:

アプリでアプリユーザーからどのアクセス許可と機能をリクエストする必要があるかを調べるには、Facebookのエンドポイントリファレンスをご覧ください。

Instagramメッセージ

MessengerプラットフォームからInstagramメッセージを実装する予定の場合は、instagram_manage_messagesアクセス許可を含める必要があります。Instagramメッセージについての詳細を確認ください。

共同投稿者

Instagramコラボ機能により、Instagramアプリユーザーは、他のアカウント(共同投稿者)のコンテンツ(つまり公開メディア)の共同作者になれます。

いくつか例外がありますが、共同作者になったメディア上のデータやそのメディアに関連するデータには、メディアを公開したユーザーがだけがAPIを使用してアクセスできます。共同投稿者はAPIを使ってこのデータにはアクセスできません。例外となるのは、パフォーマンスが最も高いメディアを検索したり、特定のハッシュタグが付いた、最近公開されたメディアを検索したりする場合だけです。ハッシュタグ検索をご覧ください。

ページ

InstagramプロアカウントのデータにAPIを通じてアクセスするには、その前にそれらのアカウントがFacebookページに接続されていなければなりません。接続後、そのページでタスクを実行できるFacebookユーザーは、アプリにアクセストークンを付与できるようになります。そのアクセストークンは、APIリクエストで使用できます。

FacebookページをInstagramプロアカウントに接続する方法については、InstagramプロアカウントにリンクされているFacebookページを追加または変更するのヘルプ記事の中で説明されています。

タスク

アプリにアクセス許可を付与するアプリユーザーは、アクセス対象のInstagramアカウントに接続されているFacebookページ上でタスクを実行可能でなければなりません。アプリユーザーは、自身が実行可能なタスクに基づいて、次のようにアプリにアクセス許可を付与することができます。

アクセス許可MANAGECREATE_CONTENTMODERATEADVERTISEANALYZE

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

アプリユーザーがページ上でどのタスクを実行できるかを調べるには、そのアプリユーザーのユーザーアクセストークンを使用してGET /me/accountsエンドポイントに対するクエリを実行します。そのエンドポイントから、アプリユーザーによるタスクの実行が可能なページのリストが返され、そのそれぞれにおいてそのユーザーがどのタスクを実行できるが示されます。

各エンドポイントでどのアクセス許可が必要かについては、リファレンスドキュメントをご覧ください。APIでは、ビジネスマネージャシステムユーザー、つまりライブ寄稿者の役割を付与されているアプリユーザーはサポートされていません。

タスクの参照

アプリユーザーに対してタスクについて(およびアプリを適切に使用するにはどのタスクが必要か)知らせる必要がある場合、FacebookのさまざまなUIにおいてタスクが参照される方法を以下に示します。

クラシックページ

クラシックページではタスクを役割として参照しています。ページ上で管理者役割を付与されているアプリユーザーは、アプリにどのアクセス許可でも付与できます。その他の役割を付与されたアプリユーザーは、次のようにアクセス許可を付与できます。

役割付与可能なアクセス許可

編集者

instagram_basic
instagram_content_publish

モデレーター

instagram_basic
instagram_manage_comments
instagram_manage_insights

広告主

instagram_basic
instagram_manage_insights

アナリスト

instagram_basic
instagram_manage_insights

新しいエクスペリエンスのページ

新しいエクスペリエンスのページでは、タスクをFacebookアクセスまたはタスクアクセスのいずれかとして参照しています。ページ上でFacebookアクセスを付与されているアプリユーザーは、アプリにどのアクセス許可でも付与できます。タスクアクセスを付与されたアプリユーザーは、次のようにアクセス許可を付与できます。

タスクアクセス付与可能なアクセス許可

広告

instagram_basic

コンテンツ

instagram_basic
instagram_content_publish

インサイト

instagram_basic
instagram_manage_insights

メッセージ&コミュニティアクティビティ

instagram_basic
instagram_manage_comments

ページが新しいエクスペリエンスを使用しているかどうかは、ページのhas_transitioned_to_new_page_experienceフィールドをリクエストすることで判別できます。ページが新しいエクスペリエンスを使用している場合、この値はtrueを返します。

アプリレビュー

アプリに対する役割も、そのアプリを取得したビジネスに対する役割も与えられていないアプリユーザーがアプリを使用するには、そのアプリのアプリレビューが完了していなければなりません。アプリを使用するのが、そのアプリまたはビジネスに対する役割を与えられているアプリユーザーだけであれば、アプリレビューを完了する必要はありません。

Facebookログインを実装しており、かつアプリが公開されている場合は、アプリレビューの申請にFacebookテストユーザーの認証情報を含める必要はありません。ただし、Facebookのレビュー担当者が、Facebookログインの実装をトリガーするためにFacebook以外のアカウントにサインインする必要がある場合は、そのFacebook以外のアカウントの認証情報を申請に含める必要があります。

非公開アプリ

アプリが非公開のイントラネットの内側にある、インターフェイスを持たない、またはFacebookログインを実装していないことが原因で、Facebookのレビュー担当者がそのアプリのテストを実行できない場合、リクエストできるのは、以下のアクセス許可に対する承認のみです。

ビジネス認証

アプリを使用するのが、そのアプリ自体に対する役割もそのアプリを取得したビジネスに対する役割も与えられていないアプリユーザーである場合は、ビジネス認証を完了する必要があります。

レート制限

すべてのエンドポイントには、Instagramビジネス使用事例レート制限が適用されます。ただし、ビジネスディスカバリーおよびハッシュタグ検索のエンドポイントは例外であり、それらに適用されるのはプラットフォームレート制限です。

Webhooks

Webhooksを使用すると、アプリユーザーのメディアオブジェクトについて誰かがコメントしたときや、アプリユーザーのストーリーのいずれかが期限切れになったときに通知が送信されるように設定できます。Webhooksの使用方法を学習し、InstagramトピックにWebhookを設定して、そのcommentsフィールドとstory_insightsフィールドにサブスクリプション登録するには、Webhooksに関するドキュメントをご覧ください。

Instagramメッセージ

いくつかのInstagramグラフAPIエンドポイントをMessengerプラットフォームエンドポイントに関連して使用し、アプリユーザーが自分のInstagramプロアカウントに送られてきたダイレクトメッセージとやり取りできるようにします。MessengerプラットフォームのInstagramメッセージに関するドキュメントを参照し、Instagramビジネスアカウントのメッセージにアクセスする方法を確認してください。