2016-09-07 13 views
4

Json APIを使用してGoogle Cloud Storageにファイルをアップロードしようとしています。添付ファイルを添付して下のURLにリクエストを投稿しています。Google Cloud Storageファイルのアップロード - リクエストされたページが見つかりません。 [404]

https://www.googleapis.com/upload/storage/v1/b/mybucket/o?uploadType=media&name=solarsystemlrg.png 

リクエストされたページが見つかりません。 [404]エラー。下のURLを使用すると、バケットに格納されている画像を一覧表示できます(アクセスに関する問題がなく、バケット名が正しいことを確認するだけです)。

https://www.googleapis.com/storage/v1/b/mybucket/o 

私はヘッダーを設定しました。

'Authorization' :'Bearer ' + accessToken, 
'Content-Type' : contentType, 
'Content-Length' : inputFile.size 

下記のコードスニペットをご覧ください。

 $.ajax({ 
     url: targetUrl, 
     headers: reqHeaders, 
     type: 'POST', 
     data: reqFormWithDataFile, 
     async: false, 
     cache: false, 
     dataType: 'jsonp', 
     useDefaultXhrHeader: false, 
     processData: false, 
     success: function (response) { 

       alert('File Upload Successful'); 

     }, 
     error: function (jqXHR, exception) { 
      var msg = ''; 
      if (jqXHR.status === 0) { 
       msg = 'Not connect.\n Verify Network.'; 
      } else if (jqXHR.status == 404) { 
       msg = 'Requested page not found. [404]'; 
      } else if (jqXHR.status == 500) { 
       msg = 'Internal Server Error [500].'; 
      } else if (exception === 'parsererror') { 
       msg = 'Requested JSON parse failed.'; 
      } else if (exception === 'timeout') { 
       msg = 'Time out error.'; 
      } else if (exception === 'abort') { 
       msg = 'Ajax request aborted.'; 
      } else { 
       msg = 'Uncaught Error.\n' + jqXHR.responseText; 
      } 
      alert(msg); 
     } 
    }); 

別のURLを使用する必要がありますか?または、他の設定が必要ですか?助けてください。

答えて

0

mybucketを実際のバケット名に置き換えている限り、正しいURLです。 jquery.ajax()を読んだ後、dataType: 'jsonp'&_=1474410231688のためという理由で&callback=fooを追加し、有効なコールバックを持つ有効なオブジェクトを生成したため、この動作をエミュレートしました。ステータスの詳細を表示するにはjqXHR全体を記録できますか?

関連する問題