我们如何使用python api客户端在Google云上创建项目

时间:2017-07-13 03:39:36

标签: google-api google-cloud-platform google-api-python-client google-cloud-python

我正在开发一个自动化谷歌云设置的项目,有没有办法使用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

1 个答案:

答案 0 :(得分:0)

我已成功使用Google Cloud API python客户端创建了Google云项目。

<强>步骤

  • 运行gcloud beta auth application-default login命令以登录浏览器获取应用程序默认凭据
  • 在我的gcp控制台上启用资源管理器API

这是工作的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)