通过API

时间:2015-04-24 15:36:36

标签: google-cloud-storage google-api-php-client google-groups

我想要通过API以编程方式访问几个云存储桶,但这些存储桶仅对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访问权限,但不是特别是我?

1 个答案:

答案 0 :(得分:2)

与该.p12密钥关联的服务帐户必须是可以读取存储分区的组的成员。