Instagram访问令牌到期

mst*_*125 23 instagram

我有一个应用程序,从我的Instagram帐户中提取数据.我授权此应用程序一次,并获得访问令牌.但我很担心,如果这个令牌到期怎么办?我是否应该在令牌到期时授权应用程序?我可以从身份验证代码中接收另一个访问令牌吗?如果不是,我该怎么办才能让我的应用程序在没有我参与的情况下始终从帐户中提取数据?谢谢.

Rit*_*une 29

但我很担心,如果这个令牌到期怎么办?

AFAIK,Instagram的accessstokens目前不会过期.

注意: 来自Instagram文档.

请注意,我们不包含到期时间.我们的access_tokens没有明确的到期,但您的应用程序应该处理用户撤销访问权限或我们在一段时间后使令牌过期的情况.在这种情况下,您的响应的元数据将包含"error_type = OAuthAccessTokenError".换句话说:不要假设您的access_token永远有效.

我应该每次令牌到期时授权应用程序吗?

目前,您不需要这样做,因为令牌不会过期.当令牌将来到期时,将向您发送相应的警告或错误代码和消息,您需要处理.

如果没有我的参与,我该怎么办才能让我的应用程序始终从帐户中提取数据?

您可以尝试以下方法:

  1. 使用sharedpreference存储accesstoken.

  2. 第一次尝试获取需要accessstoken(Authenticated requests)的数据时,首先检查sharedpreference是否存储了accesstoken.如果是,那么你不需要登录,只需使用accessstoken.如果您没有优先使用的accessstoken,则使用instagram凭据进行登录,获取accessstoken,然后以共享首选项共享它,并将其用于后续请求.

  3. 您可以提供instagram注销选项,您只需要清除sharedprefernce中的accessstoken.

希望这对你有所帮助.

  • 现在随着Instagram最近的变化,访问**令牌到期**. (9认同)
  • @RoiMulia我建议尝试API调用[/users/self](https://www.instagram.com/developer/endpoints/users/#get_users_self),然后检查`oAuthAccessTokenError`. (2认同)

Tom*_*Tom 7

虽然没有详细记录,但值得指出的是,检索帖子的提要不需要accessToken.

https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN
Run Code Online (Sandbox Code Playgroud)

也可以调用只传递你的client_id

https://api.instagram.com/v1/users/{user-id}/media/recent/?client_id=CLIENT_ID
Run Code Online (Sandbox Code Playgroud)

但是在他们的文档中并没有明确说明.

https://instagram.com/developer/endpoints/users/

  • 这已经随着Instagram的新API政策(17/11/2015)而改变.如果您的应用程序在17/11之前注册,您仍然可以使用client_id访问API,但它将在2016年6月停止工作. (24认同)
  • 我错过了,如果直接查看特定的端点文档,即https://instagram.com/developer/endpoints/media/它很容易错过 (3认同)
  • 是的.一周前停止工作,给我们很多人带来了很大的痛苦. (3认同)