shortcut - 如何使用 Google Drive API 创建快捷方式?

标签 shortcut google-drive-api

我一直在阅读 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/

相关文章:

bash - 获取 ESC- 上最后一个命令的最后一个参数。 ZSH Vim 模式

wix - 使用 WiX 创建桌面快捷方式

Android 快捷方式 Intent 与额外

eclipse - 在 Eclipse IDE 中选择运行配置的快捷方式

vim - 将键附加到 vim 中较早的录音

node.js - Gaxios上的此文档不支持此操作-NodeJS-Spreadsheet Google

google-drive-api - Google 云端硬盘正在监视新文件

c# - 在 Windows Store App 中上传/下载文件到 Google Drive

javascript - 是否可以将服务器流身份验证用作不支持 JavaScript 库的浏览器的 Google Drive 客户端身份验证的后备?

php - 如何使用 php-curl 将文件上传到 "multipart"类型的 Google 云端硬盘?