0

API を介してプログラムでアクセスしたい Cloud Storage バケットがいくつかありますが、バケットは Google グループのメンバーだけに表示されます。(役に立つ場合は、Doubleclick 入札マネージャー レポート用です) これらのクラウド ストレージ バケットにアクセスするために特別に作成したグループの名前とグループ メール アドレスを提供しました。

個々の開発者コンソールを見回すと、認証にアクセスできるので、自分の Google アカウントのバケットにアクセスできますが、Google 開発者コンソールのプロジェクトの資格情報を使用すると、使用しているアカウントに基づいてアクセスが許可されることを願っています(これは完全に間違っていると思います)次のコードを使用します:

    $key = file_get_contents("[PATH_TO_KEY].p12");
    $cred = new Google_Auth_AssertionCredentials("[ACCOUNT STUFF]", 
                                                array("https://www.googleapis.com/auth/devstorage.full_control"), 
                                                $key);
    $client->setAssertionCredentials($cred);
    $client->setClientId($client_id);
    $client->setClientSecret($client_secret);
    $client->setDeveloperKey($dev_api_key);
    $client->setRedirectUri($redirect);
    $client->setScopes("https://www.googleapis.com/auth/devstorage.full_control");
    $service = new Google_Service_Storage($client);
    $bucket = $service->objects->listObjects($da_bucket);

403 が表示されます (認証が間違っている可能性もあります。ここで何かを POC しようとして申し訳ありません)。

Google グループのすべてのメンバーがアクセスできるバケットへの API アクセスを取得できる場所はありますか?

4

1 に答える 1

2

その .p12 キーに関連付けられたサービス アカウントは、バケットを読み取ることができるグループのメンバーである必要があります。

于 2015-04-24T22:40:56.070 に答える