4

我一直在阅读 Google Drive API 文档,但我不明白如何创建外部文件的快捷方式。openssl s_client到目前为止,我已经弄清楚了如何通过使用Linux 中的命令行向 www.googleapis.com 发送 HTTP POST 来登录和上传文件。

Drive Apps 工作原理页面上的创建外部文件的 Google Drive 快捷方式部分 描述了如下快捷方式:“快捷方式的行为类似于文件。它们可以打开和创建,在搜索中编制索引,并与其他用户共享。与常规文件不同,快捷方式可以“

这里的这一部分说,至少在同步到桌面时,快捷方式会在浏览器中打开。(我仍然不清楚如果您通过浏览器使用 Google Drive 并尝试单击快捷方式会发生什么。)这似乎也表明快捷方式的文件扩展名为 .glink,但是这里关于同步的部分是什么意思?如果我向 www.googleapis.com 发布 HTTP 请求以创建快捷方式,是否需要指定 .glink 作为文件扩展名?

我提到的页面说要转到创建文件的快捷方式以获取有关如何创建快捷方式的说明。该页面告诉我要使用什么 mimetype,并说要检查 files.insert 的文档。在该页面上,我找不到有关如何创建快捷方式的任何信息。

那么如何创建快捷方式呢?files.insert 是否有一个参数,您可以在其中指定要重定向到用户的 URL?

4

1 回答 1

6

Google 云端硬盘快捷方式用于公开文件,该文件的内容存储在用户云端硬盘的第三方网络应用程序中。

当用户点击快捷方式时,用户会被重定向到已注册的第三方网站,并在?state查询参数中使用 Google Drive File ID,如打开文件中所述。由第三方应用程序使用提供的 Google Drive File ID 来匹配其内部 ID 并获取内容。

创建快捷方式的方式与插入新文件的元数据相同,唯一的例外是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请求将为您的应用程序创建一个快捷方式。借助包含此信息的授权标头,Drive API 将知道为哪个应用程序创建快捷方式。

于 2012-07-24T21:09:38.170 回答