获取单个G Suite电子邮件帐户的“ gmail.compose”特权,以通过GMail API发送电子邮件

时间:2019-05-16 04:55:52

标签: python gmail google-oauth

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

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日延长至2019年6月26日”。

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

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

1 个答案:

答案 0 :(得分:1)

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

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

  

您的应用似乎只被您所在域的人使用。

     

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

     

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

     

如果您尚未这样做,请按照以下步骤创建组织   Quickstart Using Organizations说明。

     

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