GET/POST请求Google Drive API

3
我目前正在学习Google Drive API并使用OAuth2在Qt C++中开发程序,因此我需要构建查询,但我不知道如何做。例如,如果我发出请求-https://www.googleapis.com/oauth2/v1/userinfo?access_token=MY_ACCESS_TOKEN,一切正常-我得到了回复。问题是:如何为Google Drive发出类似的请求?1)如何获取文件夹和文件列表2)如何创建文件夹/文件等。例如,在POST请求"https://www.googleapis.com/drive/v1/files&title=pets&mimeType=application/vnd.google-apps.folder"中,我得到了"error":"errors":[{"domain":"global","reason":"parseError","message":"Parse Error"}],"code":400,"message":"Parse Error"。如何获取文件夹和文件列表,例如,等等,我不明白。欢迎任何意见/示例!

提前感谢

3个回答

3
很遗憾,Drive API 不允许您列出文件夹或文件。检索文件的唯一方法是通过与 Drive Web UI 集成或向用户显示 Google Picker(仅限 Web 应用程序)。
一旦获得文件 ID,您可以简单地向 drive.files.get 端点 发送授权 GET 请求:
GET https://www.googleapis.com/drive/v1/files/id

插入文件(或文件夹),文件的元数据应包含在请求正文中,而不是作为查询参数传递:
POST https://www.googleapis.com/drive/v1/files
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json
...
{
  "title": "pets",
  "parentsCollection": [{"id":"0ADK06pfg"}]
  "mimeType": "application/vnd.google-apps.folder"
}

在上面的例子中,mimeType 指定要插入的资源是一个文件夹。当插入文件时,请将 mimeType 更改为您的应用程序 MIME 类型。

这还是真的吗?你不能列出文件吗? - Tony
这在v1版本中仍然是正确的,但是v2版本有一个列表终端点可以使用。 - Alain
由于某种原因,当我尝试使用谷歌提供的oauth2playground http://code.google.com/oauthplayground/列出文件时,API总是会返回一个空的项目数组,尽管我在谷歌驱动器中有大量的文件。您知道这可能是什么原因吗? - Tony
如果使用 https://www.googleapis.com/auth/drive.file 范围,列表终端点仅会返回应用程序(例如 OAuth Playground)已创建或已使用其打开的文件。要了解有关不同范围的更多信息,请查看此页面 - Alain
不,你可以列出所有的文件和文件夹。https://developers.google.com/drive/v3/reference/files/list - mehmet riza oz

0

你应该使用Google Docs API来完成这个任务

检索集合列表 - Google文档列表API版本3.0

在OAuth 2.0 Playground中,只需选择文档列表和Google Drive即可获得完整的操作列表:

List FolderContent
GET https://docs.google.com/feeds/default/private/full/{folderResouceId}/contents

不要忘记在文档列表URI中添加?v=3查询参数或添加。
GData-Version: 3.0

如果请求URI无效,则返回"Invalid request URI",否则返回标题(header)。

0

建议您查看Google Drive API参考文档。

https://developers.google.com/drive/v3/reference/files/list

我成功地使用了许多API函数,遵循上面的链接并使用curl。但实际上,我建议您尝试使用像Postman这样的工具进行HTTP请求。无论如何,在按照下面的步骤获取访问代码之后

使用curl列出Google Drive文件

请尝试在命令行中执行以下命令。

curl -H 'GData-Version: 3.0' -H "Authorization: Bearer $ACCESS_TOKEN" \
        https://www.googleapis.com/drive/v2/files?maxResults=$100

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接