对不起,我对卷发不太熟悉,但我正在尝试用它下载Google映像。该文件以HTML形式下载,而不是作为jpg下载。我是通过封装在Extendscript app.doScript命令中的Applescript shell脚本调用curl的,但我也尝试过从终端接收相同的文件。我遵循以下说明:https://stackoverflow.com/a/48133140/1810714
下面是我正在使用的完整扩展脚本代码。
var assetFolderPath = Folder.selectDialog();
var fileName = "/test.jpg";
var front = "https://drive.google.com/uc?export=download&id=";
var root = "google-drive-id#"; //the real id is here instead
var exporturl = front + root;
var ff = File(assetFolderPath + fileName);
var curlCommand = "\"curl -L -o '" + ff.fsName + "' " + "'" + exporturl + "'";
var asCode = 'do shell script ' + curlCommand + '"';
app.doScript(asCode, ScriptLanguage.APPLESCRIPT_LANGUAGE);提前谢谢。
发布于 2021-08-17 09:21:22
如何使用具有curl的驱动器API下载文件
您似乎想下载一个带有files.export端点的文件,但是在文档中它写着:
将Google导出到请求的MIME类型,并返回导出的内容。
也就是说,export端点只适用于Google类型,即工作表、文档、幻灯片等。
对于所有其他类型的文件,您需要使用的是files.get和URL末尾的?alt=media。为此,您需要文件ID和oauth访问令牌。
bash中的curl命令看起来如下所示:
curl \
"https://www.googleapis.com/drive/v3/files/${FILE_ID}?alt=media" \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Accept: application/json' \
--compressed -o $OUTPUT_PATH将${}变量替换为文件id、oauth访问令牌和输出路径。
例如:
curl \
"https://www.googleapis.com/drive/v3/files/xxxxxxx?alt=media" \
--header "Authorization: Bearer xxxxxxx" \
--header 'Accept: application/json' \
--compressed -o image.jpg假设选择的ID是一个.jpg文件,那么在运行该文件的文件夹中,它将创建一个image.jpg映像文件。
您可以在指南中找到更多信息。
参考文献
https://stackoverflow.com/questions/68811473
复制相似问题