好的。我得到了它。
使用Content-Type == "application/octet-stream"成功上传文件。看起来像 GoogleDrive 方面的错误,带有 mime 类型的文件。在这种情况下,我的原始文件(DNG、CR2、NEF 等)以不正确的 mime 类型存储在 GoogleDrive 中(因此这些文件没有预览)。
所以我不能再按 mime 类型过滤文件了。
Query string = (mimeType = 'image/x-adobe-dng' or mimeType = 'image/x-canon-cr2' or mimeType = 'image/x-nikon-nef').
我尝试按关键字标题过滤文件,但看起来标题不包含扩展名,但响应项目标题包含扩展名。
Query string = (title contains '.dng' or title contains '.cr2' or title contains '.nef').
所以我必须过滤我的文件,而不是按 mime 类型或标题,而是按全文关键字。
Query string = (fullText contains '.dng' or fullText contains '.cr2' or fullText contains '.nef').
结论:
- GoogleDrive 上传器检查Content-Type,即使转换选项设置为false。
- GoogleDrive 有时会因这种转换而失败。
- Uploader 与Content-Type == 'application/octet-stream'一起工作正常。
- GoogleDrive 查询字符串关键字标题不包含文件扩展名,但响应标题有扩展名。
- GoogleDrive 查询字符串关键字fullText 包含带扩展名的文件名(mb 对于文本文件不是很快)。
- 要测试您的请求,您可以在页面末尾使用此工具https://developers.google.com/drive/v2/reference/files/list。
- GoogleDrive API 不时因 HTTP 状态500 内部服务器错误而崩溃:
{"error":{"errors":[{"domain":"global","reason":"backendError","message":"Backend Error"}],"code": 500,"message": "Backend Error"}}