我正在尝试获取项目的用户及其访问权限的列表。
Http不起作用,因为我们在防火墙后面,我只得到响应not ready error
。
我有一些代码...
import google.cloud.resource_manager
keyfile="xxxxx.json"
client = google.cloud.resource_manager.client.Client.from_service_account_json(keyfile)
for project in client.list_projects():
print("%s, %s" % (project.project_id, project.status)) # Works Fine
print project.getIamPolicy()
第一个print语句有效,但是我发现getIamPolicy
的语法正确,尽管根据文档看来这是可能的。
如果还有其他人这样做,您能为我提供完整的语法吗?
我希望从python脚本中执行此操作,而不是使用命令行或子进程。
谢谢, 伊恩
答案 0 :(得分:0)
您可以使用以下内容:
安装客户端库。
pip install --upgrade google-api-python-client google-auth google-auth-httplib2
并使用以下代码列出项目中的所有用户及其角色,只需将PROJECT_ID
更新为您要检查的项目ID,然后将xxxxxx.json
更新为您的凭据。
from google.oauth2 import service_account
import googleapiclient.discovery
credentials = service_account.Credentials.from_service_account_file(
filename='xxxxxx.json',
scopes=['https://www.googleapis.com/auth/cloud-platform'])
service = googleapiclient.discovery.build(
'cloudresourcemanager', 'v1', credentials=credentials)
response = service.projects().getIamPolicy(resource=PROJECT_ID, body={}).execute()
print response
有关更多参考,您可以检查以下documentation。