0

我现在已经花了几个小时来完成这项工作,而且我已经没有文档可以阅读有关如何使如此简单的过程正常工作的文档了。这是我的理想情况。

我有一个 javascript 版本的 Google Drive 选择器(我花了几个小时才最终弄清楚我想要谷歌称为 Google Picker API 的东西)。一旦我找到它,它就像一个魅力和我所希望的一切。(有点)。我需要发生的是选择器返回 file_id (它确实如此),然后我在 php 脚本中使用该文件 ID 通过 wget 调用获取文件,然后将文件保存在我的服务器上。我无法让 curl 请求正常工作,所以我使用了 googles php 库,我不想使用它,但无论如何都会让它工作。

我明显的大问题是我已经尝试过 javascript api 和 php api 甚至 google 自己的 explorer api 并且我从我尝试过的几个不同的 google 驱动器帐户中选择的任何文件都收到一个文件未找到错误。我已经能够修复无数描述性(或缺乏)错误,我终于解决了这个我无法通过的错误。即使我知道该值已正确填充,javascript api 仍会返回错误 400“必需值:id”。php 库返回错误 404: File Not Found

我启用并运行了 Google Drive API。我启用了 Google Drive SDK 并且似乎工作正常。我在其他地方读到这可能是文件权限错误,但我不知道如何纠正这个问题,如果它甚至是问题。

作为记录,我还必须进行 Dropbox 集成,整个集成从开始到结束不到 30 分钟。

编辑

以防万一我的 api 密钥丢失了一些东西(太多了),对于选择器,我需要从 Google Cloud 界面执行以下操作。.setDeveloperKey 是浏览器密钥 API 密钥,.setAppId 是 Oauth 2.0 客户端 ID。

当我设置 php 库并构建客户端时,$client->setClientId() 是我的 Oauth 2.0 客户端 ID,而 $client->setDeveloperKey() 是我的服务器密钥 API 密钥是否正确?

4

2 回答 2

1

就我而言,它原来是范围的问题。当我使用'https://www.googleapis.com/auth/drive.file'任何文件时,我都会得到 404。但是,当我使用 时'https://www.googleapis.com/auth/drive.readonly',我可以获得元数据和 exportLink 用于下载文件内容等。

根据https://developers.google.com/drive/web/scopes,“文件”范围可以访问应用程序创建或打开的文件,而“只读”范围没有此限制。

于 2014-09-04T17:18:50.903 回答
0

您需要代表用户授权和验证您的请求,密钥和您的客户端 ID 不足以访问用户的非公开文档。在https://developers.google.com/drive/quickstart-php上解释了 PHP 的 Auth

于 2013-10-02T20:08:53.137 回答