我在网址上有一个桶:https://console.developers.google.com/storage/browser/gdfp-1234/
然后我创建了一个名为“api-required'所以我可以在/ apis / credentials生成凭证?project = api-required
然后,我在new_credentials
处使用/api/credentials/
按钮生成了一个json服务帐户密钥。我将下载的json对象保存到我将环境变量GOOGLE_APPLICATION_CREDENTIALS
指向。
现在,我正在使用python构建应用程序。这段代码:
from gcloud import storage
gcs = storage.Client(project='my client n')
bucket = gcs.get_bucket(bucket_name)
给我403 Forbidden
错误。
Google Cloud Storage JSON API
位于API Manager的Enabled API列表中。这似乎涵盖了文档中的所有内容。
我一直在倾倒文件,不能为我的生活弄清楚我做错了什么。任何帮助解决这个问题将非常感谢,谢谢!
编辑:
这是追溯:
/Users/asdf/.virtualenvs/analytics_pipeline/lib/python2.7/site-packages/gcloud/storage/client.pyc in get_bucket(self, bucket_name)
165 """
166 bucket = Bucket(self, name=bucket_name)
--> 167 bucket.reload(client=self)
168 return bucket
169
/Users/asdf/.virtualenvs/analytics_pipeline/lib/python2.7/site-packages/gcloud/storage/_helpers.pyc in reload(self, client)
75 api_response = client.connection.api_request(
76 method='GET', path=self.path, query_params=query_params,
---> 77 _target_object=self)
78 self._set_properties(api_response)
79
/Users/asdf/.virtualenvs/analytics_pipeline/lib/python2.7/site-packages/gcloud/connection.pyc in api_request(self, method, path, query_params, data, content_type, api_base_url, api_version, expect_json, _target_object)
335 if not 200 <= response.status < 300:
336 raise make_exception(response, content,
--> 337 error_info=method + ' ' + url)
338
339 string_or_bytes = (six.binary_type, six.text_type)
答案 0 :(得分:2)
因此,我所属的Google群组可以访问该存储桶,并且该存储桶是由DFP创建的,因为存储桶中已装满DFP广告管理系统数据传输文件/报告。要访问他们的存储桶,我必须将我下载的json文件中的电子邮件添加到google组(使用添加成员直接按钮,而不是邀请按钮)。一旦我将它们添加到谷歌群组,一切都像一个魅力。