2012-05-04 132 views
4

我试图刷新使用刷新令牌的访问令牌:Salesforce的刷新令牌的OAuth

curl https://login.salesforce.com/services/oauth2/token -d "grant_type=refresh_token&client_id=3MVG9pHRjzOBdkd.WU9DLyfznP.sjOJRXXX_00nLDYSpM_0K7zAOsLrRKf6IWmCv6MxeTorXL7Zzaaea8IXXX&client_secret=3231123171523457&refresh_token=5Aep861VUUSqKxtr91VaZ7Zh54RmFqHE6zD4htOq6vY9edPgkgm9ZeFPwHIzQQvR__XypcEvWnXXX==&format=json" 

但我不断收到错误"error_description":"expired access/refresh token"

任何人有任何想法?

+0

要问...已经令牌过期? –

+0

访问令牌和刷新令牌都未过期。 –

+0

我们已经看到一些与我们正在开发的应用程序类似的东西,但尚未深入研究它。我们几乎没有使用相同的登录凭证等,所以想知道我们是否会相互影响。 –

回答

3

您拥有使用刷新令牌的正确语法。确保你的所有参数都是URL编码的,因为在你的例子中你的刷新标记具有=而不是%3D。

您也可以通过转到安装程序中的该用户的用户详细信息页面并撤销底部附近的“远程访问”来删除用户的刷新令牌。然后再次通过oauth流并获得curl命令中的新刷新令牌。

+0

它是=而不是%3D。我确定了。 –

12

我知道这是旧的,但对于那些可能会遇到此问题的人。我相信这个问题是每个应用程序只能有5个访问权限。在此之后,它开始从最旧的令牌撤销刷新令牌。这里更多的信息:

https://na15.salesforce.com/help/doc/user_ed.jsp?loc=help&target=remoteaccess_request_manage.htm&section=integrate

https://github.com/heroku/databasedotcom/issues/80

+0

谢谢,这是有用的知道。 – RichVel

+1

很好的答案。请注意,在我的开发者帐户中,我发现该限制实际上是每个应用4个令牌。 – Tzach