我正在尝试编写一个简单的脚本,该脚本将使用google-api-python-client从Admin SDK的Directory API获取我的Google G Suite域中的用户列表。我已经阅读了大量的文档,尝试了数百种不同的请求,但总是收到:googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/admin/directory/v1/users?domain=example.com&alt=json returned "Not Authorized to access this resource/api">
错误。
这就是我做的:
#!/usr/bin/env python3
import json
from httplib2 import Http
from oauth2client.service_account import ServiceAccountCredentials
from apiclient.discovery import build
scopes = ['https://www.googleapis.com/auth/admin.directory.user.readonly']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'service-key.json', scopes)
account = credentials.authorize(Http())
service = build('admin', 'directory_v1', http=account)
response = service.users().list(domain='example.com').execute()
print(response)
其他:
在此先感谢您的帮助!
@Rebot先生的建议对我有用。基本服务帐户不起作用,但模仿管理员(您已启用它),允许API调用通过。