如何在android中获取google plus的刷新令牌?

Posted

技术标签:

【中文标题】如何在android中获取google plus的刷新令牌?【英文标题】:How to get refresh token for google plus in android? 【发布时间】:2015-07-14 18:01:26 【问题描述】:

我正在使用以下代码来获取 google plus 的访问令牌。有没有办法获取刷新令牌,以便我可以从 Web 服务器离线访问 google API。

String accountName = params[0];
String scopes = "oauth2:profile email";
String token = null;
try 
    token = GoogleAuthUtil.getToken(getApplicationContext(), accountName, scopes);
 catch (IOException e) 
    Log.e(TAG, e.getMessage());
 catch (UserRecoverableAuthException e) 
    startActivityForResult(e.getIntent(), REQ_SIGN_IN_REQUIRED);
 catch (GoogleAuthException e) 
    Log.e(TAG, e.getMessage());

【问题讨论】:

您为什么要离线访问 android 应用程序?根据 Google 的 API 文档,离线访问适用于 Web 应用程序。好奇这里的用例是什么。 developers.google.com/identity/protocols/… @thedarkpassenger IMO,您可以在以下问题***.com/questions/33998335/…(With a sucessful response, you will have the following info in logcat:)阅读我的回答 【参考方案1】:

这个link 非常清楚地解释了获取令牌并为服务器端轮询引用令牌所需的 API。

你会收到这样的回复。


  "access_token" : "ya29.AHES6ZSuY8f6WFLswSv0HELP2J4cCvFSj-8GiZM0Pr6cgXU",
  "token_type" : "Bearer",
  "expires_in" : 3600,
  "refresh_token" : "1/551G1yXUqgkDGnkfFk6ZbjMLMDIMxo3JFc8lY8CAR-Q"

在跨平台场景中使用令牌时,您最好阅读此guide。

【讨论】:

以上是关于如何在android中获取google plus的刷新令牌?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 如何在 android 中检索 google plus circles 电子邮件地址?

Android - 如何获取 google plus 访问令牌?

使用 Google Plus 进行身份验证,使用 android App,如何获取 REFRESH TOKEN

如何从 google plus 帐户中注销 google plus 在 android 中的集成

如何使用google plus的accessToken从不同的活动中注销android中的用户

如何创建像 Android Google Plus App 这样的按钮