Android 如何在GoogleCredential中刷新令牌

Android 如何在GoogleCredential中刷新令牌,android,google-api,google-drive-api,Android,Google Api,Google Drive Api,我已经实现了从SharedReferences中保存的令牌检索凭据的功能 当令牌过期时。我们应该调用mCredential.refreshToken()来刷新令牌,对吗 当我调用refreshToken时,出现异常 com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request { "error" : "invalid_grant" } 我需要做什么来刷新令牌?我在say中找到了一些关于刷新令牌的文档。但我

我已经实现了从SharedReferences中保存的令牌检索凭据的功能

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

当我调用refreshToken时,出现异常

com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request
{
  "error" : "invalid_grant"
}
我需要做什么来刷新令牌?我在say中找到了一些关于刷新令牌的文档。但我不知道如何在Android代码中实现它?有没有这样做的示例代码?

通常(以我的经验,因为我没有找到任何文档)“无效授权”表示存储的刷新令牌存在一些问题。这包括(我认为):-

  • 用户已将其吊销
  • 您的测试已导致生成多个刷新令牌。现存的可能只有25个
  • 与存储的令牌关联的作用域已更改
  • 要恢复这种情况,请删除存储的刷新令牌,然后再次启动该过程。好消息是,除了用户撤销场景(1)之外,这是一个测试环境问题,并不一定意味着您有bug。

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

  • 用户已将其吊销
  • 您的测试已导致生成多个刷新令牌。现存的可能只有25个
  • 与存储的令牌关联的作用域已更改

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

    看看这是Android的OAUTH,您可以检查错误,或者在项目中使用示例代码。要提供更多详细信息,您必须发布整个项目(例如链接到GitHub)或发布感兴趣的类;-)

    看看这是Android的OAUTH,您可以检查错误,或者在您的项目中使用示例代码。要提供更多详细信息,您必须发布整个项目(例如链接到GitHub)或发布感兴趣的类;-)

    谢谢皮诺伊德。。。我发现了我的问题。我存储了错误的刷新密钥。我已经解决了这个问题。嗨,我需要在我的网站上为所有用户共享我的google drive文件。你能帮我吗..我不能正确使用access token和刷新token..如果是“所有用户”,而你不知道如何“正确使用access token和刷新token”,那么你需要花一天时间阅读可用的文档,或者考虑共享驱动文件作为一个网站,你也应该知道,标签问题到其他问题是坏的形式在StAccess上。我发现了我的问题。我存储了错误的刷新密钥。我已经解决了这个问题。嗨,我需要在我的网站上为所有用户共享我的google drive文件。你能帮我吗..我不能正确使用access token和刷新token..如果是“所有用户”,而你不知道如何“正确使用access token和刷新token”,那么你需要花一天时间阅读可用的文档,或者考虑将驱动文件作为一个网站共享,你也应该知道在其他问题上标注问题是在StAdvExcel上的坏形式。
    com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request
    {
      "error" : "invalid_grant"
    }