わかった。わかった。
ファイルはContent-Type == "application/octet-stream"で正常にアップロードされます。MIME タイプのファイルを使用した GoogleDrive 側のバグのようです。このシナリオでは、RAW ファイル (DNG、CR2、NEF など) が GoogleDrive に不適切な MIME タイプで保存されます (結果として、これらのファイルのプレビューはありません)。
そのため、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 タイプやタイトルではなく、fullText キーワードでファイルをフィルタリングする必要があります。
Query string = (fullText contains '.dng' or fullText contains '.cr2' or fullText contains '.nef').
結論:
- convert オプションがfalseに設定されていても、 GoogleDrive アップローダーはContent-Typeをチェックします。
- GoogleDriveは、この変換で時々失敗します。
- アップローダはContent-Type == 'application/octet-stream'で正常に動作します。
- GoogleDrive クエリ文字列のキーワードtitle にはファイル拡張子が含まれていませんが、応答のタイトルには拡張子が含まれています。
- GoogleDrive クエリ文字列のキーワードfullText には、拡張子付きのファイル名が含まれています(テキスト ファイルの場合、mb はあまり高速ではありません)。
- リクエストをテストするには、ページの最後にあるこのツールhttps://developers.google.com/drive/v2/reference/files/listを使用できます。
- GoogleDrive API は、HTTP ステータス500 Internal Server Errorで時々クラッシュします:
{"error":{"errors":[{"domain":"global","reason":"backendError","message":"Backend Error"}],"code": 500,"message": "Backend Error"}}