Google云端硬盘服务帐户和“未经授权的客户端或请求范围”

时间:2015-08-10 16:56:16

标签: php api

我正在尝试使用Google Developer Console中的Google_Client.php类示例,通过服务电话将文件上传到Google云端硬盘帐户。 2个月前,我使用开发者控制台中设置的服务帐户成功完成了此操作,并预先设置了Google云端硬盘帐户。

我现在正尝试使用新的服务帐户和云端硬盘帐户执行相同操作,但我在标题中收到错误消息。据我所知,我做的一切都是一样的。我的研究表明,我需要向服务帐户提供电子邮件地址访问Google驱动器上的目录,但我无法了解我的生活方式。

我可以想象这是我第一次这样做的唯一原因是,对于该帐户,我首先将其设置为Web应用程序而不是服务帐户,并使用同意屏幕浏览器批准驱动器帐户访问。

顺便说一句 - 我已经检查了stackoverflow上的其他类似帖子,但都没有帮助。这篇文章的交叉指针。

2 个答案:

答案 0 :(得分:0)

原来允许您的google api项目访问您的云端硬盘帐户的最简单方法是按照此处的简单步骤设置一个简单的html页面,该页面显示用于访问云端硬盘帐户的同意按钮: Apple documentation

您只需运行一次快速入门示例,然后如果您转到Google云端硬盘帐户,请点击设置 - >管理应用。滚动到列表底部,您应该会看到您的google api项目。

现在,您可以使用api进行服务呼叫以访问您的Google云端硬盘帐户。

答案 1 :(得分:0)

老问题之类的,但另一个答案中的链接已失效。

<块引用>

我的研究表明,我需要授予服务帐户电子邮件地址访问 Google 驱动器上目录的权限,但我终生不知道如何做到这一点。

获得电子邮件地址后,您可以通过 Google Drive UI 执行此操作:

  1. https://console.developers.google.com/apis/credentials 获取服务帐户的电子邮件地址
  2. 在 Google 云端硬盘中,导航到您要共享的文件夹
  3. 右键单击文件夹
  4. 点击“分享”
  5. 输入您在第 1 步中获得的电子邮件地址,然后点击“完成”。