デフォルトでは、Instagramユーザーアクセストークンは短命で1時間のみ有効です。しかし、短期トークンは長期トークンと交換することができます。
長期トークンは60日間有効です。また、24時間以上経過していても有効期限が切れておらず、アプリユーザーがアプリにinstagram_graph_user_profile
アクセス許可を付与している場合は、更新が可能です。更新されたトークンは、更新日から60日間有効です。60日以内に更新されなかったトークンは有効期限が切れ、更新できなくなります。
非公開Instagramアカウント用の長期アクセストークンが更新可能になりました。さらに、非公開アカウントを持つアプリユーザーによってアプリに付与されたアクセス許可は90日間有効になりました。
短期Instagramユーザーアクセストークンを長期トークンと交換するには、GET /access_token
エンドポイントを使用します。取得した長期トークンは、サーバー側のリクエストで使用するか、またはクライアントに送信してクライアント側で使用することができます。
リクエストはサーバー側で行わなくてはなりません。リクエストには以下を含める必要があります:
詳しくは、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日以内に更新されなかった長期トークンは有効期限が切れます。
リクエストには以下を含める必要があります:
詳しくは、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 }