如何解决如何使用 Python 请求库对 Google API 进行 API 调用授权问题
我会尽量保持清楚。我花了几天的时间在谷歌上搜索这个,但无法弄清楚。提前致谢!我真的很感激。
我正在尝试编写一个脚本,我可以在 Zapier 中将其作为自定义“代码操作”运行,该脚本将在新员工填写类型表单后自动在我的 GSuite 中创建一个电子邮件地址(如建议的 {{3 }})。流程将是:
- 填写字体
- Zapier 从 Typeform 中检索名字、姓氏等
- Zapier 将这些参数传递给我的自定义脚本,然后使用 here 为他们创建新电子邮件。
我需要将我的 Python 库限制为“请求”库,因为 Zapier 不允许 Pip 安装其他模块。
这是我认为我需要做的:
- 请求刷新令牌(这样我就不必在每次脚本运行和长期授权时都获得授权)
- 使用从第 1 步返回的访问令牌进行 API 调用以添加新用户。
第 1 步:刷新令牌
import requests
# refresh token to get access token
response = requests.post(
url='https://www.googleapis.com/oauth2/v4/token',data={
'client_id': '','client_secret': '','refresh_token': 'REFRESH_TOKEN','grant_type': 'refresh_token',},headers={
'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
},)
response.raise_for_status()
accessToken = "Bearer" + response.json().get('access_token')
第 2 步:添加用户
addUser = requests.post(
url='https://www.googleapis.com/admin/directory/v1/users',data={
"primaryEmail": "liz@example.com","name": {
"givenName": "Elizabeth","familyName": "Smith"
}
},headers={
Authorization: accessToken,'Content-Type': 'application/x-www-form-urlencoded',)
addUser.raise_for_status()
我确定这里有很多地方需要纠正 :( 但我正在一步一步地进行。从终端运行此脚本时遇到的第一个问题如下:
第 939 行,在 raise_for_status 中 引发 HTTPError(http_error_msg,response=self) requests.exceptions.HTTPError:400 客户端错误:url 请求错误:Google Directory API
再次感谢您的帮助!此外,如果有人可以讨论这个问题,我很乐意补偿彻底的走访。很想学习。
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。