2012-05-04 134 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