我已在 SharedPreferences 中的已保存令牌中实现功能检索凭据。
mCredential = new GoogleCredential.Builder()
.setClientSecrets(CLIENT_ID, CLIENT_SECRET)
.setJsonFactory(mJsonFactory)
.setTransport(mHttpTransport).build();
mCredential.setRefreshToken(accessRefreshTokenSave);
mCredential.setAccessToken(accessTokenSave);
Long expires = mCredential.getExpiresInSeconds();
boolean result = mCredential.refreshToken();
令牌过期时。我们应该调用 mCredential.refreshToken()来刷新令牌,是不是?
当我调用refreshToken时,我得到了例外。
com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request
{
"error" : "invalid_grant"
}
刷新令牌需要做什么?我在Using OAuth 2.0中找到了一些关于刷新令牌的文档。但我不知道如何在Android代码中实现它?有没有示例代码吗?
答案 0 :(得分:1)
通常(根据我的经验,因为我没有找到任何文档)'无效授权'意味着您存储的刷新令牌存在一些问题。这包括(我认为): -
要恢复该情况,请删除存储的刷新令牌并再次启动该过程。好消息是,除了用户撤销方案(1)之外,这是一个测试环境问题,并不一定意味着你有错误。
答案 1 :(得分:0)
查看https://developers.google.com/+/mobile/android/sign-in这是Android的OAUTH,您可以查看错误,或者使用项目中的示例代码。为了给你更多细节,你必须发布整个项目(例如将它链接到GitHub)或发布感兴趣的类; - )