On September 4, 2024, we announced the deprecation of the Instagram Basic Display API.
Starting December 4, 2024, all requests to the Instagram Basic Display API will return an error message. We recommend that you migrate your app to the Instagram API to avoid any disruption to your services.
Instagram基本表示APIはHTTPベースのAPIです。アプリはこれを使用して、Instagramユーザーのプロフィール、画像、動画、アルバムを取得できます。
2023年10月27日以降、アプリで基本表示APIへのアドバンスアクセスを必要とする場合、データ処理に関する質問への回答が求められる可能性があります。詳しくは、こちらのブログ投稿とよくある質問をご覧ください。
9月5日以降、一部の開発者も、年に1度のデータ使用状況の確認の際に、データ処理に関する質問への回答を求められる場合があります。
非公開Instagramアカウント用の長期アクセストークンが更新可能になりました。さらに、非公開アカウントを持つアプリユーザーによってアプリに付与されたアクセス許可は90日間有効になりました。
api.instagram.com
— Instagramユーザーアクセストークンの取得用graph.instagram.com
— Instagramユーザープロフィールとメディアの取得用このAPIは、FacebookグラフAPIと同じバージョン管理プロトコルとリリースサイクルをサポートします。約3か月ごとに新しいバージョンがリリースされ、各バージョンは約2年間使用でき、その後廃止されます。
特定のAPIバージョンをクエリするには、クエリパスの中でベースURLの後にバージョン番号を含めます。以下はその例です。
https://graph.instagram.com/v11.0/10218560180051171/media
リクエストでバージョン番号を省略した場合、リクエストのバージョンは、[アプリダッシュボード] > [設定] > [詳細] > [APIバージョンのアップグレード]のセクションで指定されるバージョンになります。
認証ウィンドウにより、アプリはアプリユーザーから認証コードとアクセス許可を取得できます。認証コードをInstagramユーザーアクセストークンと交換できます。このトークンは、アプリユーザーのプロフィールまたはメディアをクエリするときに含める必要があります。
認証ウィンドウを実装するには、アクセストークンの取得ガイドをご覧ください。
認証コードは、短期Instagramユーザーアクセストークンと交換できます。認証コードを取得するには、アプリに認証ウィンドウを実装します。アプリユーザーがそのウィンドウでIDを認証し、アプリが必要とするアクセス許可を付与されると、ユーザーは認証コードを指定されてアプリにリダイレクトされます。その後、APIを使用して、そのコードをアプリユーザーの短期Instagramユーザーアクセストークンと交換できます。
認証コードは短期で、1時間だけ有効です。
API認証は、OAuth 2.0プロトコルに準拠するInstagramユーザーアクセストークンによって処理されます。アクセストークンは、アプリを範囲とし(アプリとユーザーの組み合わせに対してユニーク)、短期の場合と長期の場合があります。InstagramユーザーまたはそのメディアをクエリするAPIリクエストには、Instagramユーザーアクセストークンが含まれていなければなりません。
短期アクセストークンは1時間有効ですが、長期トークンと交換できます。短期アクセストークンを取得するには、アプリに認証ウィンドウを実装します。アプリユーザーがそのウィンドウで本人である認証を受けた後、そのユーザーは認証コードを指定されて再びアプリにリダイレクトされます。このコードを短期アクセストークンに交換できます。
期限切れになっていない短期アクセストークンは、60日間有効な長期アクセストークンに交換できます。長期トークンは、GET /refresh_access_token
エンドポイントをクエリすることにより、期限切れになる前に更新できます。
データアクセス認証は、アプリユーザーが下記に示されているアクセス許可を使用して管理します。アプリがユーザーのデータにアクセスするには、事前にユーザーが認証ウィンドウでアプリにこれらのアクセス許可を付与していなければなりません。
instagram_graph_user_profile
— アプリがInstagramユーザーを表すユーザーノード、およびそのノードのエッジを読み取ることができるようにします。instagram_graph_user_media
— アプリが画像、動画、またはアルバムを表すメディアノード、およびそのノードのエッジを読み取ることができるようにします。Instagramテスターは、いつでもこれらのアクセス許可をアプリに付与できます。アプリに対する役割を持たないアプリユーザーがこれらのアクセス許可をアプリに付与できるようにするには、まずアプリレビュープロセスを通じて各アクセス許可に関する詳細アクセスの承認を受けたうえで、アプリをライブモードにする必要があります。
公開アカウントを持つアプリユーザーによるアクセス許可の付与は、90日間有効です。アプリユーザーの長期アクセストークンを更新した場合、トークンを付与したアプリユーザーが公開アカウントを持っていれば、アクセス許可の付与はさらに90日間延長されます。一方、アプリユーザーのアカウントが非公開の場合、アクセス許可の付与は延長できず、アプリユーザーは有効期限が切れたアクセス許可をアプリに付与しなおす必要があります。
Instagramユーザーによるアプリのテストを行うには、まずInstagramユーザーのアカウントに招待を送信し、受け入れてもらう必要があります。招待は、[アプリダッシュボード] > [役割] > [役割]タブにある[Instagramテスター]セクションから送信できます。
Instagramユーザーは、アカウントにサインインした後、Instagramウェブサイトまたはモバイルアプリの(プロフィールアイコン) > [プロフィールを編集] > [アプリとウェブサイト] > [テスターの招待]セクションを使用して招待を受け入れることができます。
APIのデータは、Instagramユーザーとそのメディア(画像、動画、およびアルバム)で構成されます。すべてのデータはアクセス許可により保護されています。アプリがユーザーのデータにアクセスできるようにするには、ユーザーが認証ウィンドウで対象アプリにアクセス許可を付与する必要があります。
Instagramユーザーとそのプロフィールは、ユーザーノードによって表されます。Instagram基本表示APIとInstagramレガシーAPIユーザーIDには互換性がないことに注意してください。
写真、動画、およびアルバムはメディアノードによって表され、個々のユーザーについて作成されます。
すべてのエンドポイントリクエストには、グラフAPIのプラットフォームレート制限が適用されます。
アプリの呼び出しカウントの現在の使用状況を確認するには、アプリにInstagram製品を追加した後、[アプリダッシュボード] > [Instagram] > [基本表示レート制限]タブにアクセスします。
ビジネスアプリとして指定されたアプリはサポートされません。ビジネスアプリの場合は、代わりにInstagramグラフAPIを使用してください。または、ビジネスアプリではない新しいアプリを作成してください。
Instagramテスターは、いつでもInstagramアクセス許可をアプリに付与できます。アプリに対する役割を持たないアプリユーザーがInstagramアクセス許可をアプリに付与できるようにするには、まずアプリレビュープロセスを通じて各アクセス許可に関する詳細アクセスの承認を受けたうえで、アプリをライブモードにする必要があります。
アプリ開発が完了しアプリをライブモードに切り替える準備ができたら、アプリレビュー、サンプル申請、よくある却下理由の各ドキュメントを参照し、アプリレビューのプロセスを確認してください。プロセスの詳細を十分に確認したら、[アプリダッシュボード] > [製品] > [Instagram] > [基本表示]タブで、Instagram基本表示APIのアクセス許可の承認をリクエストできます。
アプリを作成する目的がユーザートークンジェネレーターでアクセストークンを生成することのみである場合、アプリのアプリレビューを申請する必要はありません。ユーザートークンジェネレーターにアクセス許可は不要であり、アプリが開発モードの場合に使用できます。
アプリが開発モードである間は、Instagramテスターアカウントのデータにのみアクセスできます。アプリをライブモードに切り替えてテスター以外のアカウントのデータにアクセスするには、その前にビジネス認証プロセスを完了する必要があります。
APIを使用するには、まず認証ウィンドウを取得して、アプリユーザーに対して表示します。アプリユーザーはそのウィンドウで本人である認証を受け、アプリに対して特定のアクセス許可を付与することにより、アプリがユーザーのデータにアクセスできるようにします。認証されたら、そのウィンドウから認証コードが指定されてアプリにリダイレクトされます。コードをキャプチャし、それを短期Instagramユーザーアクセストークンと交換します。短期トークンを入手したら、それを使用して、ユーザーがアプリにアクセスを許可したデータのユーザーエンドポイントとメディアエンドポイントに対してクエリを実行することができます。また、トークンを長期トークンに交換することもできます。
Instagramユーザートークンジェネレーターは、任意の公開Instagramアカウントに対して、長期Instagramユーザーアクセストークンを短時間で生成するために使用できるツールです。これは、アプリのテスト中に認証ウィンドウの実装に煩わされたくない場合、またはサードパーティのサービスにより提供されるコピーペーストの可能なコードを使用している場合(独自のInstagramデータを自分のウェブサイトに表示するためなど)に便利です。
このツールは、テスターアカウントとして指定した公開Instagramアカウントによってサインイン可能な認証ウィンドウをトリガーにすることによって動作します。サインインの後、このツールにより、コピーペーストの可能な長期アクセストークンが生成されます。トークンを生成できるのは公開Instagramアカウントについてのみであることに注意してください。
トークンは移植可能です!つまり、トークンを入手したすべての人が、APIを使用することにより、そのトークンの生成に使用されたInstagramテスターアカウントからデータを引き出すことができるのです。そのため、トークンは自分が信頼するサードパーティサービスとのみシェアするようにしてください。自分のトークンの提供が必要になるサードパーティサービスは使用しないことをおすすめします。その代わりに、サービスの側から提供されるトークンのプレースホルダーが含まれるコピーペースト可能なコードを入手して、手動でプレースホルダーを置換します。
トークンジェネレーターは、[アプリダッシュボード] > [製品] > [Instagram] > [基本表示]タブでアクセスできます。
アプリを作成する目的がユーザートークンジェネレーターでアクセストークンを生成することのみである場合、アプリのアプリレビューを申請する必要はありません。ユーザートークンジェネレーターにアクセス許可は不要であり、アプリが開発モードの場合に使用できます。
アプリの設定方法や基本的なAPIリクエストの実行方法については、スタートガイドを確認してください。