当前位置: 首页 > 知识库问答 >
问题:

Google Drive API -无效凭据

诸葛阳成
2023-03-14

我想使用脚本化方法(可能是通过)curl,从驱动器api访问一些简单的信息,例如创建日期。从本质上讲,我想在他们的Web界面中编写我可以做的事情:https://developers.google.com/drive/api/v3/reference/files/list。

我一直在使用curl命令,他们在上面的链接的查询中公开该命令:

curl \
  'https://www.googleapis.com/drive/v3/files?corpora=user&q=createdTime%20%3E%20%272021-11-23T12%3A00%3A00%27&key=[YOUR_API_KEY]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --compressed

我为此创建了一个API密钥(目前不受限制)。并使用此应用程序生成访问令牌:https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/drive

但我花了几个小时追查401无效凭证错误。如果您能帮助我们获得更具体的错误消息,或者更好的方法来完成这个看似简单的查询,我们将不胜感激。谢谢

共有1个答案

金钊
2023-03-14

下面链接的结果是授权代码。

https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=735795831119-kcpkamhiaojavqrt67mti7thcaa6ce87.apps.googleusercontent.com

您需要将其交换到https://accounts.google.com/o/oauth2/token生成访问令牌:

curl \
--request POST \
--data "code=[Authentcation code from authorization link]&client_id=[Application Client Id]&client_secret=[Application Client Secret]&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code" \
https://accounts.google.com/o/oauth2/token

上面卷曲的结果如下所示:

{
  "access_token": "access token here",
  "expires_in": 3599,
  "refresh_token": "refresh token here",
  "scope": "https://www.googleapis.com/auth/drive",
  "token_type": "Bearer"
}

现在您有了访问令牌,您可以将它与API密钥一起粘贴到下面的代码中。

curl \
  'https://www.googleapis.com/drive/v3/files?corpora=user&q=createdTime%20%3E%20%272021-11-23T12%3A00%3A00%27&key=[YOUR_API_KEY]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --compressed

注:

  • 确保在GCP中启用驱动器API。
  • 在GCP中创建OAuth 2.0客户端Id后,可以找到应用程序客户端Id和应用程序客户端密钥
  • 关于如何使用cURL连接到谷歌云端硬盘API的答案。
 类似资料:
  • 一些(但不是全部)Google帐户在尝试访问Google日历API时始终响应401,尽管Tokeninfo告诉我我正在使用的访问令牌具有适当的范围(请参阅下面的curl输出)。我可以使用刷新令牌成功获取新的访问令牌,但日历api继续到401。 有人知道为什么会发生这种情况吗?

  • 验证用户凭据时遇到问题。当我第一次给出正确的凭据时,一切正常,但首先给出无效的凭据,然后再给出正确的凭据,我会得到无效的凭据错误。我使用邮递员基本身份验证。 我的配置类: 和我的控制器类

  • 我有一个问题与Google plus访问令牌。它有时给我“无效凭据”错误消息,有时相同的标记显示为活动。 以下是步骤 是否有验证刷新令牌的方法?

  • 我正在使用类ldapconnection执行到LDAP服务器的绑定。在“正常”密码的情况下,它工作正常。但是,如果用户的密码包括ü、ä或ö,服务器将返回错误无效凭据。我假设是编码问题,但找不到任何设置。NET-类。因此,我查看了网络流量,我发现字母“ü'是用”FC“表示的十六进制。使用LDAP浏览器,“ü'由”C3BC“表示。 对此有什么想法吗?

  • 我是ldap新手,我尝试了一个我认为很简单的示例,用一个已经有人为测试设置的ldap实例来测试spring ldap模块。 有关我正在使用的ldap实例的详细信息可以在这里找到:http://blog.stuartlewis.com/2008/07/07/test-ldap-service/comment-page-3/ 我使用了ldap浏览器/管理工具(Softerra ldap Admin),