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

谷歌驱动器 API 无效的客户端

闻人弘雅
2023-03-14

我试图访问我的用户的google drive内容。我可以使用带有正确参数的google drive用户许可url在我的域名上兑换代码:https://accounts.google.com/o/oauth2/v2/auth?响应类型=代码

我正在尝试向https://www.googleapis.com/oauth2/v4/tokenendpoint执行角$超文本传输协议请求。请求如下所示:

$http({
     method: 'POST',
     headers: {"Content-Type" : "application/x-www-form-urlencoded"},
     data: $.param({
        "code" : $routeParams.code,
        "client_id" : $scope.googledriveApi.client_id,
        "client_secret" : $scope.googledriveApi.secret,
        "redirect_uri" : $scope.googledriveApi.redirect_uri,
        "grant_type" : "authorization_code"
     }),
     url: 'https://www.googleapis.com/oauth2/v4/token'
})

然而,我从请求中得到的响应如下:

{
 "error": "invalid_client",
 "error_description": "The OAuth client was not found."
}

有人知道为什么会这样吗?我已尝试将产品名称和客户id名称更改为相同。我已经检查了这个空间。我之所以提到这一点,是因为其他人对同样的错误提出了问题,但我的错误发生在$http请求上。

我正在取回用户同意代码,并尝试在此请求中交换访问令牌。这时错误出现了,我被卡住了。

共有1个答案

仲孙诚
2023-03-14

试试这些:

  1. 在 OAuth 同意屏幕下,确保产品名称与此 SO 线程中所述的项目名称不同:

尝试在 URI 请求中包含授权标头:

标题:{“授权”:“承载”访问令牌}

 类似资料:
  • 下面是https://github.com/google/google-api-nodejs-client的代码。 一般问题:刷新令牌实际上如何与访问令牌一起工作? 背景:根据我的解释,每个访问令牌都有一个有限的时间跨度(~1小时)。因此,当用户第一次连接到我的服务器(服务器为用户身份验证提供了机制)时,服务器将收到有限生命期访问令牌和一次性刷新令牌。1小时后,访问令牌过期。 谢了!

  • 我为我的帐户name@steelkiwi.com(谷歌应用程序)创建了服务帐户,我的应用程序运行良好。然后我为我的个人帐户name@gmail.com创建了服务帐户,为我的应用程序使用这个新的凭据,现在当我试图插入文件时,我得到错误500和下一个文本: HttpError 500请求https://www.googleapis.com/upload/drive/v2/files时?quotause

  • 我的应用程序中有一个刷新令牌问题,我不知道如何解决它。我看过很多关于它的帖子,但我仍然需要一些帮助。我使用的授权码基本上是快速启动码。 直到谷歌开始响应HTTP 400错误请求的那一天,上述功能一直运行良好,并显示以下消息 {“error”:“invalid_grant”,“error_description”:“令牌已过期或吊销。”} 我浏览了Google OAuth发布的“invalid_gr

  • 如何使用API安全地测试一个读写Google Drive的应用程序? 我创建了一个在服务器上运行的应用程序,它基本上是将一个模板google doc复制到另一个目录,然后编辑这个新文件。 null 然后应用程序模拟域的一个用户(总是同一个用户)来访问API资源。 这个应用程序可以工作,但它有2个问题: 服务帐户访问的内容太多。理想情况下,我希望它只能对一个文件夹进行RW访问, 我希望创建只能访问另

  • 我正在尝试使用Google驱动器列出文件。 使用中的答案https://stackoverflow.com/a/11280257我发现了一个无法找到原因的问题。 我有这个错误: 在行中

  • 更详细地说。我正在用一种有点非常规的方法来尝试。我只使用命令行来运行(没有IDE,没有gradle)。 这里有一个链接到一个ss与我的输出在命令提示符。cmd输出 假设我实际上是在访问Google Drive中的元数据,并且Drive.files嵌套在抽象映射(java.util.AbstractMap)中,我应该能够返回映射的大小,从而通过返回多少文件来了解它在哪里搜索。 我不确定是怎么回事。第