【发布时间】:2016-10-13 14:15:53
【问题描述】:
我一直在努力完成这项工作,但完成了一半。
实际上我只能从 Gmail API 读取消息,如果我尝试使用 gmail.modify Scope 我会收到错误:
HttpAccessTokenRefreshError:未授权客户端:请求中未经授权的客户端或范围。
这是我的代码:
# init gmail api
credentials_path = os.path.join(settings.PROJECT_DIR, 'settings/gmail_credential.json')
scopes = ['https://www.googleapis.com/auth/gmail.readonly',
'https://www.googleapis.com/auth/gmail.modify']
credentials = ServiceAccountCredentials.from_json_keyfile_name(credentials_path, scopes=scopes)
delegated_credentials = credentials.create_delegated('my_account@gmail.com')
http_auth = delegated_credentials.authorize(Http())
gmail = build('gmail', 'v1', http=http_auth)
在我的服务帐户中:
- 我已将所有可能的角色设置到我的服务帐户“......iam.gserviceaccount.com”
- 我激活了 DWD:DwD:Google Apps 域范围委派已启用。
我在某处读到我需要一个 google 工作帐户来授予我的服务帐户在 my_account@gmail 电子邮件帐户上使用 gmail.Modify 的权限。仅修改电子邮件中的消息似乎非常困难。
我不知道下一步该做什么。
【问题讨论】:
标签: python authorization gmail-api