このドキュメントが更新されました。
日本語への翻訳がまだ完了していません。
英語の最終更新: 2021/07/07

長期アクセストークン

デフォルトでは、Instagramユーザーアクセストークンは短命で1時間のみ有効です。しかし、短期トークンは長期トークンと交換することができます。

長期トークンは60日間有効です。また、24時間以上経過していても有効期限が切れておらず、アプリユーザーがアプリにinstagram_graph_user_profileアクセス許可を付与している場合は、更新が可能です。更新されたトークンは、更新日から60日間有効です。60日以内に更新されなかったトークンは有効期限が切れ、更新できなくなります。

非公開Instagramアカウント用の長期アクセストークン更新可能になりました。さらに、非公開アカウントを持つアプリユーザーによってアプリに付与されたアクセス許可は90日間有効になりました。

制限

  • 有効期限が切れた短期トークンは長期トークンと交換できません。ユーザーのトークンが有効期限切れになった場合は、新しいトークンを取得して長期トークンと交換してください。
  • 長期トークンのリクエストにはApp Secretが含まれるので、サーバー側コードでのみ行う必要があります。クライアント側コードまたはデコンパイル可能なアプリバイナリでは決して行わないでください。App Secretを誰かと共有したり、コードで公開したり、クライアントに送信したり、デバイスに保存したりしないでください。

長期トークンの取得

短期Instagramユーザーアクセストークンを長期トークンと交換するには、GET /access_tokenエンドポイントを使用します。取得した長期トークンは、サーバー側のリクエストで使用するか、またはクライアントに送信してクライアント側で使用することができます。

リクエストはサーバー側で行わなくてはなりません。リクエストには以下を含める必要があります:

  • 有効な(有効期限が切れていない)短期Instagramユーザーアクセストークン
  • Instagram App Secret ([アプリダッシュボード] > [製品] > [Instagram] > [基本表示] > [Instagram App Secret])

詳しくは、GET /access_tokenのリファレンスをご覧ください。

リクエストの例

curl -i -X GET "https://graph.instagram.com/access_token
  ?grant_type=ig_exchange_token
  &client_secret={instagram-app-secret}
  &access_token={short-lived-access-token}"

応答の例

{
  "access_token":"{long-lived-user-access-token}",
  "token_type": "bearer",
  "expires_in": 5183944  // Number of seconds until token expires
}

長期トークンの更新

有効期限が切れていない長期Instagramユーザーアクセストークンを更新するには、GET /refresh_access_tokenエンドポイントを使用します。長期トークンを更新すると、再度60日間有効になります。60日以内に更新されなかった長期トークンは有効期限が切れます。

リクエストには以下を含める必要があります:

  • 有効な(有効期限が切れていない)長期Instagramユーザーアクセストークン

詳しくは、GET /refresh_access_tokenのリファレンスをご覧ください。

リクエストの例

curl -i -X GET "https://graph.instagram.com/refresh_access_token
  ?grant_type=ig_refresh_token
  &access_token={long-lived-access-token}"

応答の例

{
  "access_token":"{long-lived-user-access-token}",
  "token_type": "bearer",
  "expires_in": 5183944 // Number of seconds until token expires
}