【问题标题】:How to create a shortcut using Google Drive API?如何使用 Google Drive API 创建快捷方式?
【发布时间】:2021-05-24 19:42:23
【问题描述】:

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

该部分 Creating Google Drive shortcuts to external files 在 Drive Apps 的工作原理页面上描述了这样的快捷方式: “快捷方式的行为类似于文件。它们可以打开和创建,在搜索中建立索引,并与其他用户共享。与常规文件不同,快捷方式不包含任何内容,并且当同步到桌面时,会在用户浏览器中以 URL 的形式打开。同步的快捷方式文件分配有 .glink 扩展名。”

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

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

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

【问题讨论】:

    标签: shortcut google-drive-api


    【解决方案1】:

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

    当用户点击快捷方式时,用户会被重定向到已注册的第三方网站,该网站使用 ?state 查询参数中的 Google Drive 文件 ID,如 Open Files 中所述。由第三方应用使用提供的 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 将知道为哪个应用程序创建快捷方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 2012-03-30
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      相关资源
      最近更新 更多