python - 目录 api 的 gsuite 服务帐户返回 http 400 错误:错误请求/无效输入
问题描述
我已经开始开发一些 api 来在我的 G 套件目录中创建用户。我遵循了服务帐户教程以及 Python 的目录教程。我拥有的代码非常简单,只是为了测试它是如何工作的。
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
并创建了服务帐户并下载了服务帐户文件。我错过了一步吗?如果有人有我找不到的更好的文档,我也更愿意。
解决方案
确保服务帐户启用了域范围的委派并具有适当的范围。
推荐阅读
- node.js - 从 Nodejs 服务器套接字发送二维数组到以太坊智能合约(Solidity)
- amazon-web-services - 使用 aws s3 命令获取 zip 文件中的记录数(行数)的有效和最快方法是什么?
- python - 如何在 spyder 中打开带有 gz 扩展名的文件?
- c++ - c++ memcpy int 到 char 缓冲区
- javascript - React Native:在滚动视图底部为文本添加不透明度
- git - Git merge conflict: Cannot find the problem
- dynamics-crm - 虚拟实体的自定义数据提供程序 - 没有 GUID 的数据源
- python - 为什么我的 Pytorch 中 log_prob 的方法不起作用
- php - 我无法启动服务器。(Symfony 5 服务器:运行)
- oracle - html 代码位于 appex 页面中的什么位置?