How do I resolve the AttributeError: 'Resource' object has no attribute in Google API?

How do I resolve the AttributeError: 'Resource' object has no attribute in Google API?

对于完整的上下文,我是脚本编写方面的新手。我正在尝试使用 Google 的 API 从 Google 管理员处获取完整的用户列表,但我什至难以通过它的 build() 部分.无论我在 service 上标记什么,它都没有该属性,除了 close()

我的最终目标几乎是获得用户、用户别名和组名的完整列表,这样我就可以检查它们是否在 creating/assigning 之前已经存在。不幸的是,我卡在了这个障碍上。

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() 执行它,我会一直 运行ning 进入这个错误:

   Traceback (most recent call last):
      File "test.py", line 17, in <module>
        service.execute()
    AttributeError: 'Resource' object has no attribute 'execute'

如果我 运行 它没有任何东西,就在 service = ... 行之后,它不会吐出错误,所以我假设服务帐户文件是正确的。

service 变量,由 build, corresponds to the class Resource 返回。

此 class 可用于与您在构建服务时指定的 API 进行交互。根据这些参数,service 将有特定的 API 方法供其使用,但 execute() 不是其中之一。

由于您正在为 Directory API 构建服务,因此这些将是与此 API 进行交互的相应方法:

例如,如果您想调用 Users: list 以列出您域中的所有用户,您可以执行以下操作:

service = googleapiclient.discovery.build('admin', 'directory_v1', credentials=getCreds())
response = service.users().list(domain="YOUR_DOMAIN").execute()