gpt4 book ai didi

python - 如何使用 Google API 客户端创建 Python 代码

转载 作者:行者123 更新时间:2023-12-01 02:18:09 25 4
gpt4 key购买 nike

下面有代码,用于列出特定项目的 Google 云服务帐户。

import os
from googleapiclient import discovery
from gcp import get_key

"""gets all Service Accounts from the Service Account page"""

os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = get_key()

service = discovery.build('iam', 'v1')

project_id = 'projects/<google cloud project>'

request = service.projects().serviceAccounts().list(name=project_id)
response = request.execute()

accounts = response['accounts']

for account in accounts:
print(account['email'])

这段代码工作完美,可以根据我的需要打印帐户。我想弄清楚的是:

我在哪里可以看到如何构造这样的代码?我发现一个网站引用了 Python API Client ,但我似乎无法弄清楚如何从中生成上面的代码。我可以看到Method列出服务帐户,但它仍然没有给我足够的信息。

我还应该去其他地方进行 self 教育吗?感谢您提供的任何信息,所以我不会拔掉我剩下的头发。

谢谢,埃里克

最佳答案

给大家分享一下this documentation page ,其中详细解释了如何构建脚本(例如您共享的脚本)以及每一行代码的含义。它是从 ML Engine 的文档中提取的,而不是 IAM,但它使用相同的 Python Google API 客户端库,因此只需忽略对 ML 的引用,其余的将对您有用。

无论如何,这里是代码的注释版本,以便您更好地理解:

# Imports for the Client API Libraries and the key management
import os
from googleapiclient import discovery
from gcp import get_key

# Look for an environment variable containing the credentials for Google Cloud Platform
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = get_key()

# Build a Python representation of the REST API
service = discovery.build('iam', 'v1')

# Define the Project ID of your project
project_id = 'projects/<google cloud project>'

"""Until this point, the code is general to any API
From this point on, it is specific to the IAM API"""

# Create the request using the appropriate 'serviceAccounts' API
# You can substitute serviceAccounts by any other available API
request = service.projects().serviceAccounts().list(name=project_id)

# Execute the request that was built in the previous step
response = request.execute()

# Process the data from the response obtained with the request execution
accounts = response['accounts']
for account in accounts:
print(account['email'])

理解代码的第一部分后,最后几行特定于您正在使用的 API,在本例中为 Google IAM API 。在此链接中,您可以找到有关可用方法及其用途的详细信息。

然后,您可以关注Python API Client Library documentation您共享的内容是为了了解如何调用这些方法。例如,在您共享的代码中,所使用的方法取决于 service,它是 API 的 Python 表示形式,然后沿着最后一个链接中的方法树向下查找,如 projects 中所示(),然后是 serviceAccounts(),最后是特定的 list() 方法,最终为 request = service.projects().serviceAccounts ().list(name=project_id).

最后,如果您对其他可用的 API 感兴趣,请参阅 this page了解更多信息。

我希望我对您的代码所做的评论对您有所帮助,并且共享的文档可以让您更轻松地理解如何编写这样的代码的脚本。

关于python - 如何使用 Google API 客户端创建 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com