【问题标题】:Obtaining `gmail.compose` privileges for single G Suite email account to send emails via GMail API获取单个 G Suite 电子邮件帐户的 gmail.compose 权限以通过 GMail API 发送电子邮件
【发布时间】:2019-10-03 06:58:51
【问题描述】:

我正在尝试通过 GMail API 以编程方式撰写草稿,使用 this tutorial 和以下代码行:

service.users().drafts().create(userId=user_id, body=message).execute()

但我收到以下错误:

An error occurred: <HttpError 403 when requesting https://www.googleapis.com/gmail/v1/users/me/drafts?alt=json returned "Insufficient Permission">

请注意,直接以gmail.send 权限发送消息对我不起作用 - 我想thread messages

在 API 控制台中,我尝试启用以下范围 ../auth/gmail.compose,但出现警告消息 Because you've added a sensitive scope, your consent screen requires verification by Google before it's published.

我已提交我的应用进行验证,但我刚刚收到一封电子邮件,称“我们已将完成您验证的截止日期从 2019 年 5 月 15 日延长至 6 月 26 日”。

实际上,没有用户会使用我的 G Suite 电子邮件帐户(因此我的应用不能用于监视他们的消息),我只需要访问 单个 电子邮件帐户 info@example.com 即可发送通知致在example.com 上使用我的网站的用户。

有没有什么方法可以让服务器端使用我的密码访问我的info@example.com 帐户并以编程方式草拟消息,而无需经历冗长且不必要的应用验证过程?

【问题讨论】:

    标签: python gmail google-oauth


    【解决方案1】:

    事实证明,您可以拥有一个“内部”,而不是面向客户的“公共”应用程序,所有 GMail 范围都自动可用。

    以下是描述步骤的 Google 团队的回复(对我有用):

    您的应用似乎只供您域中的人使用。

    如果这是正确的,请回复此电子邮件以确认这是 案子。然后,我们将拒绝您的请求,以便您能够更新 您的项目从公共到内部。

    此外,您需要将您的项目与您的 按照以下步骤组织:

    如果您还没有这样做,请按照以下步骤创建一个组织 Quickstart Using Organizations 说明。

    将项目迁移到您创建的组织中,如图所示 Migrating Existing Projects into the Organization。一旦你有 将您的项目与您的组织、您和项目相关联 您组织中的用户可以使用该应用程序直接访问OAuth scopes。无需验证。

    【讨论】:

      猜你喜欢
      • 2018-06-26
      • 1970-01-01
      • 2020-05-27
      • 2017-09-23
      • 2018-03-15
      • 2021-02-25
      • 1970-01-01
      • 2013-02-21
      • 2011-05-21
      相关资源
      最近更新 更多