サイズが 64KB を超えるファイルを Web アプリケーションで取得する必要があります。現在、JSON API の v1beta1 では、Google は JSON API 経由で 64KB のサイズのアップロード/ダウンロードのみを許可しています。「再開可能な」アップロードを使用して、サイズが 64KB を超えるファイルをアップロードする方法を見つけました (v1beta1 が JSON API で提供するインターフェース経由ではなく、手動で)。
私が理解できないのは、ダウンロードする良い方法です。ここで、ダウンロードするオブジェクトの ACL を公開し、ファイルをダウンロードしてから、オブジェクトの公開 ACL を削除します。これは非効率であるだけでなく、あまりクリーンでもありません。使用できるより良い方法はありますか、それとも Google が API の将来のバージョンでより良い手段を提供するまで立ち往生していますか?
背景情報 私は GAE アプリケーションを作成しており、google.appengine.api.files インターフェイスについて知っています。残念ながら、これはローカルの開発環境を使用している間はライブ バケットでは機能しません。また、テスト目的で、私のチームと私は開発をローカルでテストする方法が必要です (他の制限/セキュリティ要因の中で、GAE にデプロイするにはあまりにも面倒です)。Cloud Storage を除く他のすべての API と対話できるため、Cloud Storage の読み取り/書き込み/削除時に JSON API または AppEngine のファイル インターフェースを使用するクラスを作成しています。機能する実装を手に入れましたが、ファイルを取得する方法に不満があります。
以下のコメントからの明確化: 大量の情報をダウンロードして処理し、BigQuery で使用するために Cloud Storage に保存しています。開発環境のライブ バケットを使用する必要があります。そうしないと、BigQuery がテスト対象のデータを消費できないからです。これらのファイルを提供する必要はなく、処理するだけです
以下の受け入れられた回答に関するコメントからの解決策:httplib2
JSON API とやり取りするコードから
認証済みオブジェクトを再利用して、 https://{bucket_name}.storage.googleapis.com/{object_name}
URL エンドポイントに対して認証済みの GET 要求を実行し、ヘッダーContent-Length: 0
とx-goog-api-version: 2
ヘッダーのみを追加することができました。