Ios 刷新Fitbit的访问令牌

Ios 刷新Fitbit的访问令牌,ios,objective-c,oauth-2.0,fitbit,Ios,Objective C,Oauth 2.0,Fitbit,我正在将fitbit集成到我的应用程序中,我不希望用户每次都重定向到SafariViewController以获取访问令牌,因为我正在存储访问令牌,但24小时后,访问令牌将过期 在fitbit的API中,有一个参数expires\u In用于定义访问令牌的过期时间,在该参数中,我传递31536000一年,但在此之后,访问令牌也将在24小时内过期,之后我必须将用户重定向到SafariViewController 所以,是否有任何解决方法,使我不必将用户重定向到SafariViewControlle

我正在将fitbit集成到我的应用程序中,我不希望用户每次都重定向到SafariViewController以获取访问令牌,因为我正在存储访问令牌,但24小时后,访问令牌将过期

在fitbit的API中,有一个参数
expires\u In
用于定义访问令牌的过期时间,在该参数中,我传递
31536000
一年,但在此之后,访问令牌也将在24小时内过期,之后我必须将用户重定向到SafariViewController

所以,是否有任何解决方法,使我不必将用户重定向到SafariViewController,也不必使用任何方法在后台刷新令牌,诸如此类

任何帮助都将不胜感激


干杯

您不需要在中为您的访问令牌设置任何
expires\u值。访问过期令牌是在fitbit服务器中检查的,而不是在您的服务器中。因此,在
中设置
expires\u将不起作用。相反,在Fitbit授权后,您将获得are
refresh\u token
以及您的acess\u token

 $result=$fitbit_object->getRefreshtoken(YOUR_REFRSH_TOKEN);

结果将包含新的访问令牌和刷新令牌。在数据库中存储/更新它们。因此,当您想要使用aceess_令牌时,您可以使用新的refresh_令牌来刷新您的access_令牌。这对我来说很简单。

您不需要在
值中为您的访问令牌设置任何
expires\u。访问过期令牌是在fitbit服务器中检查的,而不是在您的服务器中。因此,在
中设置
expires\u将不起作用。相反,在Fitbit授权后,您将获得are
refresh\u token
以及您的acess\u token

 $result=$fitbit_object->getRefreshtoken(YOUR_REFRSH_TOKEN);

结果将包含新的访问令牌和刷新令牌。在数据库中存储/更新它们。因此,当您想要使用aceess_令牌时,您可以使用新的refresh_令牌来刷新您的access_令牌。这对我很有效。

是的,我试过了,也很有效,不过谢谢你的帮助。你救了我一天,Prakash..就连我都在寻找这个解决方案。谢谢你的反馈伙计们。@PrakashP它给了我一个非常奇怪的错误,见下面的{“错误”:[{“错误类型”:“无效的授予”,“消息”:“刷新令牌无效:c28e8f226845e7bef3b9db85162ecb02e001e2a47e4babc8934cb1d3addc7412。有关Fitbit Web API授权过程的详细信息,请访问。”}],“成功”:false}@Hiren Gujarati:-当您的刷新令牌被多次使用时会发生错误。请使用一次刷新令牌并更新新的刷新令牌以供下次使用。是的,我已经尝试过了,而且它对我也很有效,谢谢您的帮助。您救了我一天,Prakash..即使是我也在寻找此解决方案感谢您的反馈。@PrakashP它给了我一个非常奇怪的错误,请参见下面的{“errors”:[{“errorType”:“invalid_grant”,“message”:“Refresh token invalid:C28E8F226845E7BEF3B9DB85162ECB02E001E2A47E4E4BABC8934CB1D3ADDC7412。有关Fitbit Web API授权过程的更多信息,请访问。”}],“success”:false}@Hiren Gujarati:-当您的刷新令牌被多次使用时发生错误。请使用一次刷新令牌,并更新新的刷新令牌以供下次使用