【发布时间】:2022-01-04 06:04:51
【问题描述】:
我正在尝试为 Google Workspace 构建目录同步 ETL,但我从代码 sn-p 中得到 403。
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/admin.directory.user.readonly']
SERVICE_ACCOUNT_FILE = './credentials.json' #TODO: these creds need to be passed in more safely.
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('admin', 'directory_v1', credentials=credentials)
results = service.users().list(domain='mydomain.com').execute()
users = results.get('users', [])
服务帐户已被授予所列范围的域范围委派,并且应该能够访问 API。其他类似的帖子提到域管理员必须批准请求,但在我需要每周运行多次而没有任何管理员干预的情况下,这没有任何意义。
【问题讨论】: