将文件上传到Google云端硬盘的curl POST请求的正确格式是什么(使用Drive REST API v3)?

时间:2016-03-22 00:29:03

标签: bash curl google-drive-api

在Google的Drive REST API v3文档中,他们提供了以下“示例”,了解如何使用“简单上传”方法将文件上传到云端硬盘:

POST /upload/drive/v3/files?uploadType=media HTTP/1.1 Host: www.googleapis.com Content-Type: image/jpeg Content-Length: number_of_bytes_in_file Authorization: Bearer your_auth_token JPEG data

我正在尝试构建一个curl POST请求,以将.csv上传到云端硬盘。我尝试了以下(以及无数的变化),但没有成功。它一直以Error 400 (bad request)!!!错误返回:

curl -s "https://www.googleapis.com/upload/drive/v3/files?uploadType=media HTTP/1.1" -H "Authorization: Bearer $access_token" -H "Content-Type: $mime_type" -H "Content-Length: $file_size" -d "$file" -X POST

作为参考,变量定义为:

file_size="$(du -b $file | awk '{ print $1 }')"

mime_type=$(file -ib "$file")

无论如何,谷歌没有解释“JPEG数据”部分,我怀疑这是我的curl POST请求错误的地方。

我在这里和Github都找到了一些相关的例子,但它们都没有为我工作(我发现的所有这些都已经过时了,无论如何)。我也尝试过多部分上传,但我也无法让它工作(同样,这里的大多数例子似乎已经过时了。)

0 个答案:

没有答案