3

Google Cloud Storage 内のファイルを同期するバックエンド アプリケーションがあり、バックエンドからリクエストせずに、ストレージ内のすべてのファイルを JavaScript で一覧表示したいと考えています。CORS をセットアップしました。すべてのファイルの acl はパブリック読み取りです。API には、認証に関する段落があります。

Google Cloud Storage API を使用して実行する操作のほとんどは、認証を受ける必要があります。唯一の例外は、匿名アクセスを許可するオブジェクトに対する操作です。AllUsers グループが READ 権限を持っている場合、オブジェクトは匿名でアクセスできます。AllUsers グループには、インターネット上のすべてのユーザーが含まれます。

AllUsers のアクセス許可をどのように設定できますか? acl を public-read に設定しているだけですか?

バケット リスト API 呼び出しは、認証が必要な操作に該当しますか?それとも可能ですか?

これが私が達成しようとしていることです:

$.ajax({
    url: "http://storage.googleapis.com/" + BUCKET_NAME,
    method: "GET",
    headers: {
        "x-goog-project-id": PROJECT_ID
    }
});

どんな助けでも大歓迎です。

4

3 に答える 3

3

JSON APIを使用して、JavaScript からバケットのコンテンツを取得できます。

GitHubの s torage-metabucket-javascriptプロジェクトは、これを行う方法の例です。バケット リストのコードはこちらです。実際のソリューションについては、ライブ デモを参照してください。

別の方法として、google-api-javascript-client ライブラリを使用できます。GitHubのstorage-getting-started-javascript リポジトリには、その使用方法の例が示されています。

于 2013-03-02T18:51:13.393 に答える
1

承認なしでバケットを一覧表示するには、(すべてのオブジェクトだけでなく) バケットに public-read acl が必要です。ただし、月末に驚くべき請求が発生する可能性があるため、 public-read バケットは注意して使用する必要があります :)

于 2013-03-05T07:17:26.403 に答える