如何在scribe中使用访问令牌获取刷新令牌

时间:2012-05-24 07:57:56

标签: oauth scribe

我现在有了访问令牌,我想拥有刷新令牌,以便我可以在需要时刷新访问令牌。 我使用了fallowing代码,但它返回了错误响应

  **OAuthRequest request = new OAuthRequest(Verb.POST, "https://accounts.google.com/o/oauth2/token");
    request.addBodyParameter("grant_type", "refresh_token");
    request.addBodyParameter("refresh_token", "accesstoken string"); 

    request.send();**

任何想法如何获得刷新令牌??????

3 个答案:

答案 0 :(得分:2)

您可以使用以下代码

执行此操作
OAuthRequest request = new OAuthRequest(Verb.POST, "https://accounts.google.com/o/oauth2/token");
    request.addBodyParameter("grant_type", "refresh_token");
    request.addBodyParameter("refresh_token", accessToken.getToken()); // were accessToken is the Token object you want to refresh.
    request.addBodyParameter("client_id", your clientID);
    request.addBodyParameter("client_secret", your clientSecret);
    Response response = request.send();

答案 1 :(得分:0)

https://developers.google.com/accounts/docs/OAuth2WebServer#offline中提到的脱机方案中获取刷新令牌 确保access_type为“离线”

答案 2 :(得分:0)

实际上Scribe并没有让你获得刷新令牌。我不得不定制它以使其成为可能,我这样做是因为我没有选择,即使该库的所有者(Jerome Leleu)没有进行维护,他正在使用一个名为Pac4j的新版本。