当我执行转发电子邮件的代码时,为什么会出现访问限制错误?

3

我是Google API的新手,目前正在通过代码添加转发电子邮件地址。 以下是代码。

credentials = get_credentials(request.data['code'], request.data['state'])
service = build_gmail_service(credentials)
address = {'forwardingEmail': 'abcd1234@mydomain.com'}
result = service.users().settings().forwardingAddresses().create(userId='me', body=address).execute()

我能够使用上述代码构建谷歌服务,但在执行设置转发电子邮件地址的最后一行时出现以下错误。
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/gmail/v1/users/me/settings/forwardingAddresses?alt=json returned "Access restricted to service accounts that have been delegated domain-wide authority">

我已经搜索了一整天但无法解决它,请告诉我是否有其他人遇到过类似的问题并解决了它。
Gsuite 按域委派图片: enter image description here 谢谢。

通过在谷歌上搜索,我发现您需要先允许访问您的谷歌账户。 - Salman B
是的,我已经允许访问,然后获取了代码和状态,并使用代码和状态构建了Google服务。 - Moon
1个回答

1

访问仅限于已被授权域范围委派的服务帐户

它告诉您正在尝试使用一个服务帐户连接到管理设置 API,但是您尚未正确设置来自 GSuite 的服务帐户的域范围委托。

您的 GSuite 管理员需要在您使用之前设置委派到您的服务帐户。

enter image description here

将域范围授权委派给服务帐户


谢谢您的建议,我已经在问题中添加了图片,如果我启用或禁用Gsuite域委派,那么这会对我有帮助吗? - Moon
1
你需要通过管理员控制台按照列出的步骤进行操作。 - Linda Lawton - DaImTo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接