我一直在阅读 Google Drive API 文档,但我不明白如何创建外部文件的快捷方式。到目前为止,我已经弄清楚如何通过 Linux 命令行中的 openssl s_client
向 www.googleapis.com 执行 HTTP POST 来登录和上传文件。
该部分 Creating Google Drive shortcuts to external files在驱动器应用程序如何工作页面上描述了如下快捷方式: “快捷方式的行为与文件类似。它们可以打开和创建、在搜索中建立索引以及与其他用户共享。与常规文件不同,快捷方式不包含任何内容,并且在同步到桌面时在用户浏览器中作为 URL 打开。同步的快捷方式文件分配有 .glink 扩展名。”
这一部分表示至少在同步到桌面时会在浏览器中打开快捷方式。 (我仍然不清楚如果您通过浏览器使用 Google Drive 并尝试单击快捷方式会发生什么。)这似乎也表明快捷方式的文件扩展名为 .glink,但是这里有关同步的部分是什么意思?如果我向 www.googleapis.com 发布 HTTP 请求来创建快捷方式,是否需要指定 .glink 作为文件扩展名?
我提到的页面说转到 Create a shortcut to a file有关如何创建快捷方式的说明。该页面告诉我要使用什么 mimetype,并要求我检查 files.insert 的文档。在该页面上我找不到任何有关如何创建快捷方式的信息。
那么如何创建快捷方式呢? files.insert 是否有一个参数,您可以在其中指定要重定向到用户的 URL?
最佳答案
Google 云端硬盘快捷方式用于公开内容存储在用户云端硬盘的第三方网络应用中的文件。
当用户点击快捷方式时,用户会被重定向到已注册的第三方网站,并在 ?state
查询参数中包含 Google 云端硬盘文件 ID,如 Open Files 中所述。 。第三方应用程序可以使用提供的 Google 云端硬盘文件 ID 来匹配其内部 ID 并获取内容。
创建快捷方式的方式与插入新文件的元数据相同,唯一的异常(exception)是 mimeType
需要设置为 application/vnd.google-apps.shortcut
:
POST https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]
Authorization: Bearer [YOUR_ACCESS_TOKEN]
{
"name": "A file's Shortcut",
"mimeType": "application/vnd.google-apps.shortcut",
"parents": [
// Optional, unless you want to put shortcut inside of a folder
],
"shortcutDetails": {
"targetId": targetId,
"targetMimeType": targetMimeType,
}
}
此POST
请求将创建您的应用程序的快捷方式。由于包含此信息的授权 header ,Drive API 将知道要为哪个应用程序创建快捷方式。
关于shortcut - 如何使用 Google Drive API 创建快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11627313/