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