如何使用 Google API 将文件上传到共享文件夹(任何拥有 link 的人都可以完全访问)?
How to upload file to a shared folder (fully accessible by anyone with link) using Google API?
如果唯一给出的是 link 共享文件夹(属于不同的人),我可以将数据上传到该文件夹吗?
如果文件夹公开共享给作为作者的任何人,您可以将文件上传到共享文件夹。
curl 命令示例:
例如使用curl命令时,示例curl命令如下
curl -X POST \
-H "Authorization: Bearer ###your access token###" \
-F 'metadata={"parents": ["###folderId###"], "name": "sample filename"};type=application/json;charset=UTF-8' \
-F "file=@sample.txt;type=text/plain;charset=UTF-8" \
"https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart"
- 在这个curl命令中,
sample.txt
的文本文件被上传到共享文件夹。
- 关于
-H "Authorization: Bearer ###your access token###"
,在这种情况下,请使用您的访问令牌。
示例脚本:
如果您无法检索访问令牌,例如,作为上传文件的简单示例脚本,使用 Google Apps 脚本怎么样?当使用 Google Apps 脚本时,可以自动检索访问令牌。但是在这种情况下,需要将上传的文件放到Google Drive中。如果您想测试此脚本,请将以下脚本复制并粘贴到 Google Apps 脚本项目的脚本编辑器中。并且,请设置文件ID和文件夹ID,运行 sample
。当此脚本为 运行 时,将打开一个用于授权范围的对话框。当您授权时,文件被上传到文件夹。
function sample() {
const fileId = "###"; // Please set the file ID of the file you want to upload.
const folderId = "###"; // Please set the folder ID of the shared folder.
const file = DriveApp.getFileById(fileId);
const folder = DriveApp.getFolderById(folderId);
file.makeCopy(file.getName(), folder);
}
注:
- 在
uploadType=media
的情况下,最大文件大小为5 MB。当您想上传大文件时,请使用uploadType=resumable
。这种情况请查看官方文档。 Ref
参考:
如果唯一给出的是 link 共享文件夹(属于不同的人),我可以将数据上传到该文件夹吗?
如果文件夹公开共享给作为作者的任何人,您可以将文件上传到共享文件夹。
curl 命令示例:
例如使用curl命令时,示例curl命令如下
curl -X POST \
-H "Authorization: Bearer ###your access token###" \
-F 'metadata={"parents": ["###folderId###"], "name": "sample filename"};type=application/json;charset=UTF-8' \
-F "file=@sample.txt;type=text/plain;charset=UTF-8" \
"https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart"
- 在这个curl命令中,
sample.txt
的文本文件被上传到共享文件夹。 - 关于
-H "Authorization: Bearer ###your access token###"
,在这种情况下,请使用您的访问令牌。
示例脚本:
如果您无法检索访问令牌,例如,作为上传文件的简单示例脚本,使用 Google Apps 脚本怎么样?当使用 Google Apps 脚本时,可以自动检索访问令牌。但是在这种情况下,需要将上传的文件放到Google Drive中。如果您想测试此脚本,请将以下脚本复制并粘贴到 Google Apps 脚本项目的脚本编辑器中。并且,请设置文件ID和文件夹ID,运行 sample
。当此脚本为 运行 时,将打开一个用于授权范围的对话框。当您授权时,文件被上传到文件夹。
function sample() {
const fileId = "###"; // Please set the file ID of the file you want to upload.
const folderId = "###"; // Please set the folder ID of the shared folder.
const file = DriveApp.getFileById(fileId);
const folder = DriveApp.getFolderById(folderId);
file.makeCopy(file.getName(), folder);
}
注:
- 在
uploadType=media
的情况下,最大文件大小为5 MB。当您想上传大文件时,请使用uploadType=resumable
。这种情况请查看官方文档。 Ref