【发布时间】:2020-11-20 03:32:20
【问题描述】:
对于完整的上下文,我是脚本的新手。我正在尝试使用 Google 的 API 从 Google Admin 获取完整的用户列表,但我什至很难通过其中的 build() 部分。无论我在service 上标记什么,它都没有那个属性,除了close()
我的最终目标是获得用户、用户别名和组名的完整列表,以便在创建/分配之前检查它们是否已经存在。不幸的是,我被困在了这个障碍上。
我正在尝试使用的 API:https://developers.google.com/admin-sdk/directory
代码:
#!/usr/local/bin/env python3
import json
import os
import googleapiclient.discovery
from google.oauth2 import service_account
SCOPES = ['https://www.googleapis.com/auth/admin.directory.user.readonly',
'https://www.googleapis.com/auth/admin.directory.user.alias.readonly',
'https://www.googleapis.com/auth/admin.directory.group.readonly']
SERVICE_ACCOUNT_FILE = os.get.environ('SERVICE_ACCOUNT_FILE')
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = googleapiclient.discovery.build('admin', 'directory_v1', credentials=credentials)
如果我只是尝试使用service.execute() 执行它,这是我一直遇到的错误:
Traceback (most recent call last):
File "test.py", line 17, in <module>
service.execute()
AttributeError: 'Resource' object has no attribute 'execute'
如果我在没有任何东西的情况下运行它,就在service = ... 行之后,它不会吐出错误,所以我假设服务帐户文件是正确的。
【问题讨论】:
-
欢迎来到 SO。请包括所有相关代码和完整的回溯错误。
-
googleapiclient.discovery.build()返回一个 Resource 对象,它没有execute方法。请阅读developers.google.com/docs/api/quickstart/python -
嗨@ewong!感谢您的回复!这就是整个代码,我刚刚开始使用它。此外,这是我运行
$python test.py时的完整回溯错误我在寻找什么对象?你发给我的链接与document = service.documents().get(documentId=DOCUMENT_ID).execute()做类似的事情我在哪里可以找到我可以从service调用的函数?
标签: python google-api google-admin-sdk