我现在有了访问令牌,我想拥有刷新令牌,以便我可以在需要时刷新访问令牌。 我使用了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();**
任何想法如何获得刷新令牌??????
答案 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的新版本。