我正在尝试找到一种方法来创建启用了服务的项目或为现有项目启用服务。我的目标是使项目创建过程自动化,并使一些API可供使用。单独启用服务管理API效率不够。我发现唯一可以解决我问题的东西是这个问题:How to create a Google Cloud project with service management API enabled?
我找不到提及的“服务用户API”的任何文档。它使我可以使用serviceuser
构建服务。就是这样。这是我的一小段代码。
service = build("serviceuser","v1",credentials=creds)
rval = service.services().enable(name='projects/' + project_id + '/services/drive.googleapis.com').execute()
抛出
Traceback (most recent call last):
File "serviceaccountfactory.py", line 40, in <module>
print(service.services().enable(name='projects/' + project_id + '/services/drive.googleapis.com').execute())
AttributeError: 'Resource' object has no attribute 'enable'
我完全不知道该使用什么来完成这项工作。欢迎任何帮助。
编辑:再次仔细查看发现文档后,我能够找到正确的方法。 service.projects().services().enable()
似乎可以解决问题,但现在我遇到了403错误。
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://serviceuser.googleapis.com/v1/projects/123/services/serviceuser.googleapis.com:disable?alt=json returned "Service User API has not been used in project 000 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/serviceuser.googleapis.com/overview?project=000 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.". Details: "[{'@type': 'type.googleapis.com/google.rpc.Help', 'links': [{'description': 'Google developers console API activation', 'url': 'https://console.developers.google.com/apis/api/serviceuser.googleapis.com/overview?project=000'}]}]">
根据我前面提到的问题中的Rob Kochman,默认情况下应启用服务用户API。但这似乎并非如此。