目录api的gsuite服务帐户返回http 400错误:错误的请求/无效的输入

问题描述 投票:1回答:1

我已经开始开发一些api来在我的G Suite目录中创建用户。我跟随service account tutorials以及python的Directory tutorials。我拥有的代码非常简单,仅用于测试其工作方式。

from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/admin.directory.user']
SERVICE_ACCOUNT_FILE = 'file'
creds = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('admin', 'directory_v1', credentials=creds)
results = service.users().list(customer='i am not sure what customer is', maxResults=10, orderBy='email').execute() 
#this line produces the error.
#Vscode also states the service has no member users. But I did install all #the libraries
users = results.get('users', [])
print(users)

对我来说,有关大多数事情的文档尚不清楚。当我运行它时,我得到

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/admin/directory/v1/users?customer=students&maxResults=10&orderBy=email&alt=json returned "Bad Request">

[将客户从my_customer更改为其他客户时,我得到Invalid Input。关于什么可能导致此错误的建议,最好是如何通过服务帐户使用此api?现在,我确实启用了directory api并创建了服务帐户,还下载了服务帐户文件。我错过了一步吗?如果有人拥有我找不到的更好的文档,我也希望。

python google-api service-accounts http-error google-directory-api
1个回答
0
投票

[@ sakib11,您好,我无法发表评论,但我想知道您必须添加哪些范围以及设置服务帐户所遵循的流程。我有一个服务帐户,我已经使用它的客户端ID来授予它对整个域的访问权限,并将其添加为应用程序。但是在尝试使用目录API时,我仍然收到一个错误的请求。

您能否为我们中也可能遇到此问题的人发布并接受解决方案?之后,我可以删除此帖子。

© www.soinside.com 2019 - 2024. All rights reserved.