0

我有几个要通过 API 以编程方式访问的 Cloud Storage 存储桶,但这些存储桶仅对 google 组的成员可见。(它们用于 Doubleclick 出价管理器报告,如果有帮助的话)我提供了一个组的名称和组电子邮件地址,该组是我专门为访问这些云存储桶而创建的。

在我的个人开发者控制台上环顾四周,我可以访问身份验证内容,因此我可以访问我自己的谷歌帐户的存储桶,但是当我使用我的谷歌开发者控制台项目中的凭据时,希望根据我正在使用的帐户授予我访问权限(我假设这是完全错误的)使用此代码:

    $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 一些东西)

是否有某个地方可以让我获得对谷歌组的所有成员都可以访问的存储桶的 API 访问权限,但不是专门针对我?

4

1 回答 1

2

与该 .p12 密钥关联的服务帐户需要是可以读取存储桶的组的成员。

于 2015-04-24T22:40:56.070 回答