0

フォルダ全体をGoogleドライブにアップロードしようとしています。

1 回のリクエストで 1 つのファイルを正常にアップロードできました。

しかし、ファイル全体をアップロード中に rateLimitExceed エラーが発生しました。

ということで、バッチリクエストを使ってみました。

バッチ リクエストによるフォルダの作成が正常に完了しました。

しかし、バッチ リクエストでファイルをアップロードしようとすると、404 エラーが返されます。( 見つかりません )

これはGoogleドライブのバグですか?もしそうなら、多くのファイルをアップロードするために時間遅延を行うべきですか?

        var boundary = '--314159265358979323846';
        var delimiter = "\r\n--" + boundary + "\r\n";
        var close_delim = "\r\n--" + boundary + "--";

        var contentType = 'text/plain';
        var metadata = {
            'title': 'test1.txt',
            'mimeType': contentType                 
        };

        var base64Data = btoa('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
        var multipartRequestBody =
           delimiter +
           'Content-Type: application/json\r\n\r\n' +
           JSON.stringify(metadata) +
           delimiter +
           'Content-Type: ' + contentType + '\r\n' +
           'Content-Transfer-Encoding: base64\r\n' +
           '\r\n' +
           base64Data +
           close_delim;

        var request = gapi.client.request({
           'path': '/upload/drive/v2/files',
           'method': 'POST',
           'params': {'uploadType': 'multipart'},
           'headers': {
             'Content-Type': 'multipart/mixed; boundary="' + boundary + '"'
           },
           'body': multipartRequestBody});

        var httpBatch = gapi.client.newHttpBatch();
        httpBatch.add(request, {
            callback: function(resp, rawResp){
                console.log(rawResp);
            }
        });
        httpBatch.execute(function(resp, rawResp){
            console.log(rawResp)
        });

エラーはここにあります:

{"id":"1171148984","result":false} 

{"gapiRequest":{"data":{"body":"--batch_YZmy6yr9vIk=_ABqi-xumfFQ=\r\nContent-Type: application/http\r\nContent-ID: <response-1171148984>\r\n\r\nHTTP/1.1 404 Not Found\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Mon, 21 Oct 2013 07:53:20 GMT\r\nExpires: Mon, 21 Oct 2013 07:53:20 GMT\r\nCache-Control: private, max-age=0\r\nContent-Length: 9\r\n\r\nNot Found\r\n--batch_YZmy6yr9vIk=_ABqi-xumfFQ=--\r\n","headers":{"pragma":"no-cache","date":"Mon, 21 Oct 2013 07:53:20 GMT","server":"GSE","content-type":"multipart/mixed; boundary=batch_YZmy6yr9vIk=_ABqi-xumfFQ=","cache-control":"no-cache, no-store, max-age=0, must-revalidate","content-length":"349","expires":"Fri, 01 Jan 1990 00:00:00 GMT"},"status":200,"statusText":"OK"}}} 
4

1 に答える 1

0

アップロードをバッチ処理することはできません。アップロード リクエストを個別に実行してください。

于 2013-10-21T09:21:42.097 に答える