gpt4 book ai didi

google-api - 如何通过 API 向 Google Drive 添加/创建/插入文件?

转载 作者:行者123 更新时间:2023-12-03 08:32:40 28 4
gpt4 key购买 nike

需要有关通过 api 将文件插入谷歌驱动器的帮助。用于此目的的 api 文档没有明确说明如何通过 http post 请求发送文件的实际正文。

最佳答案

documentation on insert operations已经包含一系列编程语言的示例,这里是如何使用基于 HTTP 的 Google Drive API 协议(protocol)来实现的。

首先,将新文件元数据发布到 Drive 端点。它必须是 File resource JSON object 的形式:

POST /drive/v2/files HTTP/1.1
Host: www.googleapis.com
Authorization: Bearer <OAuth 2.0 access token here>
...

{
"title": "file_name.extension",
"mimeType": "mime/type",
"description": "Stuff about the file"
}

响应正文将是新创建的文件资源的 JSON 表示。它看起来像:
{
"kind": "drive#file",
"id": string,
"etag": etag,
"selfLink": string,
"title": "file_name",
"mimeType": "mime/type",
"description": "Stuff about the file"
...
"downloadUrl": string,
...
}

这是对已创建文件条目的确认。现在您需要上传内容。为此,您需要获取上述响应中 id JSON 属性给出的文件 ID,并使用 OAuth 2.0 授权请求将实际文件的内容发送到上传端点。它应该看起来像:
PUT /upload/drive/v2/files/{id}?uploadType=media HTTP/1.1
Host: www.googleapis.com
Authorization: Bearer <OAuth 2.0 access token here>
Content-Type: mime/type

<file content here>

你完成了:)

还有一种方法可以在 1 个使用多部分请求的单个 POST 请求中执行此操作,您可以在该请求中将文件的元数据与内容同时发布。这是一个例子:
POST /upload/drive/v2/files HTTP/1.1
Host: www.googleapis.com
Authorization: Bearer <OAuth 2.0 access token here>
Content-Type: multipart/form-data; boundary=287032381131322
...

--287032381131322
Content-Type: application/json

{
"title": "file_name.extension",
"mimeType": "mime/type",
"description": "Stuff about the file"
}
--287032381131322
Content-Type: mime/type

<file content here>
--287032381131322--

响应将包含新创建文件的元数据。
您也可以使用 内容传输编码:base64 请求的子部分中的 header 能够将文件的数据作为 Base 64 编码传递。

最后还有一个 resumable upload protocol这很方便上传大文件,提供暂停/恢复功能和/或上传带有不稳定互联网连接的文件。

PS:其中大部分内容现在在 Drive's file upload documentation 中进行了描述。 .

关于google-api - 如何通过 API 向 Google Drive 添加/创建/插入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10317638/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com