我正在开发一个自动化谷歌云设置的项目,有没有办法使用Google-Api-Client为python创建一个谷歌云平台项目?
请帮帮我! 提前谢谢!
以下是我的尝试:
来自 views.py
from google.cloud import resource_manager
...
client = resource_manager.Client()
# List down all gcp projects
for project in client.list_projects():
print(project)
new_project = client.new_project('project11-372', name='My new project')
new_project.create()
它列出了我所有的gcp项目,但没有创建新项目。
这是我收到的错误:
文件" /Users/abdul/Documents/IGui/rest/views.py" ;,第60行,在帖子中 new_project.create() File" /Users/abdul/IstioVirEnv/lib/python3.6/site-packages/google/cloud/resource_manager/project.py" ;,第138行,在创建中 数据=数据) 文件" /Users/abdul/IstioVirEnv/lib/python3.6/site-packages/google/cloud/_http.py",第293行,在api_request中 提出例外情况。来自_http_response(回复) google.cloud.exceptions.Forbidden:403 POST https://cloudresourcemanager.googleapis.com/v1beta1/projects:来电者没有权限。
[20 / Aug / 2017 05:55:02]" POST / user / deployment / create / new HTTP / 1.1" 500 14960
答案 0 :(得分:0)
我已成功使用Google Cloud API python客户端创建了Google云项目。
<强>步骤强>
gcloud beta auth application-default login
命令以登录浏览器获取应用程序默认凭据这是工作的python代码:
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
...
credentials = GoogleCredentials.get_application_default()
service = discovery.build('cloudresourcemanager', 'v1', credentials=credentials)
project_body = {
'name': 'Api Project',
'projectId': 'api-9837'
}
request = service.projects().create(body=project_body)
request.execute()
pprint(request)