GAE Python资源管理器API错误"调用者没有权限"

时间:2016-11-11 22:44:00

标签: python google-app-engine

我的目标是以编程方式创建appengine项目,然后从源代码控制部署应用程序。

我正在尝试使用我在此处找到的代码:http://127.0.0.1:8081/testSoap11Endpoint

>>> from google.cloud import resource_manager
>>> client = resource_manager.Client()

>>> # List all projects you have access to
>>> for project in client.list_projects():
...     print(project)

>>> # Create a new project
>>> new_project = client.new_project('your-project-id-here',
...                                  name='My new project')
>>> new_project.create()

产生错误:"来电者没有权限"。但后来我意识到它是在Alpha(仅限邀请)可能解释错误(混淆的方式,谷歌!)。

我还发现这个页面有不同的代码(单击Python Client Library),但我不知道如何使用它: http://google-cloud-python.readthedocs.io/en/latest/resource-manager-api.html

代码:

...

operation = crm.projects().create(
    body={
        'project_id': flags.projectId,
        'name': 'my project'
}).execute()

...

我在猜测" rm" in" crm"代表资源管理器,这就是我要找的东西,还是不相关的东西?

如果没有阿尔法邀请,也许我的目标还不可能。

修改

此处使用更新的代码创建了一个新问题:

https://cloud.google.com/resource-manager/docs/creating-project

1 个答案:

答案 0 :(得分:1)

该库文档具有误导性且不正确。告诉您使用gcloud命令处理身份验证会产生误导。这可能适用于本地开发或运行该命令在运行代码的实际服务器上运行的情况,但在App Engine上并非如此。这是不正确的,因为Cloud Resource Manager不是alpha版本,而是通常可供所有人使用。

您需要在Cloud Platform控制台中设置OAuth客户端ID凭据,然后设置OAuth登录流程,最终用户可以授予您的应用程序访问权限以代表用户创建项目。

从App Engine管理API documentation for creating applications programmatically开始。