google-apps-script - 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 Drive File ID 完成的。
更多信息:
Google Drive 快捷方式用于链接文件,其内容存储在 Drive 以外的其他位置,例如第三方网络应用程序。这不是通过链接完成的,因为云端硬盘快捷方式不包含任何内容,而是使用文件元数据端点制作的。
当您使用上面显示的方法制作第三方快捷方式Files.Create
时,它是快捷方式的指示信息是application/vnd.google-apps.drive-sdk
mimeType,使用 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 来匹配他们存储的文件和内容。
参考:
推荐阅读
- python - Python - 找不到包
- javascript - 如何在 Angular 10 中创建圆形菜单?
- nginx - Python-SocketIO 因“不支持的升级请求”而失败,可能是 Nginx 配置错误
- python - Select2 与 Django 不接受选择
- javascript - 为什么我的 Web 应用程序 (ReactJS) 不接受后端发送的 cookie?
- python - 通过 TKinter Filedialog 功能上传图像并通过另一个按钮存储
- python - 对二进制值的行排序
- ssl - 使用 W5500 在 STM32F303RC 中实现 TLS over HTTP
- php - WooCommerce 从属性中获取自定义字段
- flutter - 如何在颤动中进入表单按钮 OnPressed()