首页 > 解决方案 > Google Drive 第三方快捷方式的工作原理

问题描述

我正在阅读有关Google Drive 中的第三方快捷方式的信息,并且能够使用链接中提到的示例有效负载在 Google Drive 中创建一个文件。

var fileMetadata = new File()
{
    Name = "Project plan",
    MimeType = "application/vnd.google-apps.drive-sdk"
};
var request = driveService.Files.Create(fileMetadata);
request.Fields = "id";
var file = request.Execute();
Console.WriteLine("File ID: " + file.Id);

我无法得到的是我可以在哪里设置外部文件 URL?或者它是如何工作的?

标签: google-apps-scriptgoogle-drive-api

解决方案


回答

由第三方来处理重定向到快捷方式指向的相关文件。这是通过 Google Drive File ID 完成的。

更多信息:

Google Drive 快捷方式用于链接文件,其内容存储在 Drive 以外的其他位置,例如第三方网络应用程序。这不是通过链接完成的,因为云端硬盘快捷方式不包含任何内容,而是使用文件元数据端点制作的。

当您使用上面显示的方法制作第三方快捷方式Files.Create时,它是快捷方式的指示信息是application/vnd.google-apps.drive-sdkmimeType,使用 POST URL 插入文件元数据:

POST https://www.googleapis.com/drive/v3/files
Authorization: <AUTHORIZATION HEADER>

{
  "title": "File's title",
  "description": "File's description",
  "mimeType": "application/vnd.google-apps.drive-sdk"
}

单击快捷方式后,您将被重定向到创建文件的第三方网站 -根据 Open Files 上?state的文档,Google Drive File ID 包含在查询参数中。

要知道的重要一点是,完全由第三方应用程序/网站?state参数中使用 Google Drive File ID 来匹配他们存储的文件和内容。

参考:


推荐阅读