このページ(https://developers.google.com/drive/v2/web/manage-downloads)は、Alternateメソッドと呼ばれるダウンロードURLを取得する方法について説明しています。これが私たちが使うものです。このURLを取得してから、このURLでGETリクエストを送信します。問題は返されたレスポンスにコンテンツの長さがないため、プログレスバーを表示できないことです。このURLがダウンロードするコンテンツのコンテンツ長を返すように強制する方法はありますか?特に、ダウンロード用に作成された別のシステムにURLを渡し、そのシステムにGoogleDrive APIを呼び出すロジックがないため、このURLをcontent-lengthに戻すことに興味がありました。 GoogleドライブのAPIでダウンロードファイルのdocumentationをチェックする場合はここでレスポンスヘッダの一例ダウンロードURLにcontent-lengthを返すようにするにはどうすればよいですか?
HTTP/1.1 200 OK
X-GUploader-UploadID: AEnB2UobhZIKOBsST_-cDZt3BvIK2HSQ5ErTDPsA50BdhaAVrF9RD2Py-57pUoRnleNJnd_Xkg2_RoJClvYTzt0kZfaTSdQ61QB3tWXleX1RpefLObvFf2s
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: false
Access-Control-Allow-Headers: Accept, Accept-Language, Authorization, Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Length, Content-MD5, Content-Range, Content-Type, Date, GData-Version, Host, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, Origin, OriginToken, Pragma, Range, Slug, Transfer-Encoding, Want-Digest, X-ClientDetails, X-GData-Client, X-GData-Key, X-Goog-AuthUser, X-Goog-PageId, X-Goog-Encode-Response-If-Executable, X-Goog-Correlation-Id, X-Goog-Request-Info, X-Goog-Experiments, x-goog-iam-authority-selector, x-goog-iam-authorization-token, X-Goog-Spatula, X-Goog-Upload-Command, X-Goog-Upload-Content-Disposition, X-Goog-Upload-Content-Length, X-Goog-Upload-Content-Type, X-Goog-Upload-File-Name, X-Goog-Upload-Offset, X-Goog-Upload-Protocol, X-Goog-Visitor-Id, X-HTTP-Method-Override, X-JavaScript-User-Agent, X-Pan-Versionid, X-Origin, X-Referer, X-Upload-Content-Length, X-Upload-Content-Type, X-Use-HTTP-Status-Code-Override, X-Ios-Bundle-Identifier, X-Android-Package, X-YouTube-VVT, X-YouTube-Page-CL, X-YouTube-Page-Timestamp
Access-Control-Allow-Methods: GET,OPTIONS
Content-Type: application/zip
Content-Disposition: attachment;filename="bluemsx-code-1273.zip";filename*=UTF-8''bluemsx-code-1273.zip
Date: Tue, 04 Oct 2016 00:24:09 GMT
Expires: Tue, 04 Oct 2016 00:24:09 GMT
Cache-Control: private, max-age=0
X-Goog-Hash: crc32c=inH43w==
Transfer-Encoding: chunked
Server: UploadServer
Alt-Svc: quic=":443"; ma=2592000; v="36,35,34,33,32"
私はJavaScriptとXMLHttpRequestオブジェクトを使用していません。コードはC#にありますが、私はその場所でC#Google Drive SDKを使用することはできないと言いましたが、問題ではありません。すべての進捗状況監視技術を完全に認識していますが、今でもデータのダウンロード量は表示されますが、ダウンロードするデータの総量はわからないため、プログレスバーはありませんが、ダウンロードされるKB数は単純です。基本的には、唯一の問題はGoogleドライブのダウンロードURLがあれば、データの総量を取得する方法ですちなみに、ドキュメントは内容の長さについて何も言わない。 – Alex