文档已更新。
中文(简体) 译文尚未完成。
英语更新时间:2021年7月6日

长期访问口令

默认情况下,Instagram 用户访问口令是短期访问口令,仅在 1 小时内有效。但短期口令可以交换为长期口令。

长期口令有效期为 60 天,只要口令的生成时间不少于 24 小时且并未过期,同时应用用户已为您的应用授予 instagram_graph_user_profile 权限,该口令便能刷新。已刷新口令的有效期为:自刷新日起 60 天。60 天内未经刷新的口令将会过期,已过期的口令将不能再刷新。

私人 Instagram 帐户的长期访问口令现在可以刷新。另外,拥有私人帐户的应用用户授予应用的权限的有效期现在是是 90 天。

限制

  • 已过期的短期口令不能交换为长期口令。如果用户口令已过期,请先获取一个新的口令,然后再将其交换为长期口令。
  • 由于请求长期口令时会包含应用密钥,因此该请求应只在服务器端代码中发出,而不能在可能被反编译的客户端代码或应用二进制文件中发出。请勿与任何人分享您的应用密钥、将其暴露在代码中、发送到客户端或是存储在设备上。

获取长期口令

使用 GET /access_token 端点将短期 Instagram 用户访问口令交换为长期口令。获取长期口令后,您可以在服务器端请求中使用或将其发送回客户端使用。

您的请求必须在服务器端发出,且要包括:

  • 有效(未过期)的短期 Instagram 用户访问口令
  • 您的 Instagram 应用秘钥(应用面板 > 产品 > Instagram > 基本显示 > Instagram 应用密钥

参阅 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
}

刷新长期口令

使用 GET /refresh_access_token 端点刷新未过期的长期 Instagram 用户访问口令。刷新长期口令后,口令可再次获得 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
}