首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google图像下载失败

Google图像下载失败
EN

Stack Overflow用户
提问于 2021-08-17 03:51:53
回答 1查看 202关注 0票数 0

对不起,我对卷发不太熟悉,但我正在尝试用它下载Google映像。该文件以HTML形式下载,而不是作为jpg下载。我是通过封装在Extendscript app.doScript命令中的Applescript shell脚本调用curl的,但我也尝试过从终端接收相同的文件。我遵循以下说明:https://stackoverflow.com/a/48133140/1810714

下面是我正在使用的完整扩展脚本代码。

代码语言:javascript
复制
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);

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-17 09:21:22

如何使用具有curl的驱动器API下载文件

您似乎想下载一个带有files.export端点的文件,但是在文档中它写着:

将Google导出到请求的MIME类型,并返回导出的内容。

也就是说,export端点只适用于Google类型,即工作表、文档、幻灯片等。

对于所有其他类型的文件,您需要使用的是files.get和URL末尾的?alt=media。为此,您需要文件ID和oauth访问令牌。

bash中的curl命令看起来如下所示:

代码语言:javascript
复制
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访问令牌和输出路径。

例如:

代码语言:javascript
复制
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映像文件。

您可以在指南中找到更多信息。

参考文献

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68811473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档