gpt4 book ai didi

android - 如何刷新GoogleCredential中的Token

转载 作者:行者123 更新时间:2023-11-30 04:00:15 24 4
gpt4 key购买 nike

我已经实现了从 SharedPreferences 中保存的 token 中检索凭据的功能。

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();

token 过期时。我们应该调用 mCredential.refreshToken() 来刷新 token ,对吗?

当我调用 refreshToken 时出现异常。

com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request
{
"error" : "invalid_grant"
}

我需要做什么来刷新 token ?我在 Using OAuth 2.0 中找到了一些文档说说刷新 token 。但我不知道如何在 Android 代码中实现它?有没有示例代码可以做到这一点?

最佳答案

通常(根据我的经验,因为我没有找到任何文档)“无效授权”意味着您存储的刷新 token 存在一些问题。这包括(我认为):-

  1. 用户已撤销
  2. 您的测试已导致生成多个刷新 token 。现存的可能只有 25 个
  3. 与存储的 token 关联的范围已更改

要恢复这种情况,请删除存储的刷新 token 并重新启动该过程。好消息是,除了用户撤销场景 (1) 之外,这是一个测试环境问题,并不一定意味着您有错误。

关于android - 如何刷新GoogleCredential中的Token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12614246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com