我正在尝试使用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
帐户的服务器端访问权限,而不必经历冗长且不必要的应用验证过程?
答案 0 :(得分:1)
事实证明,您可以拥有一个“内部”应用程序,而不是面向“公共”应用程序的客户端,该应用程序将自动提供所有GMail范围。
以下是Google团队的回复,其中描述了步骤(对我有用):
您的应用似乎只被您所在域的人使用。
如果正确,请回复此电子邮件以确认 案件。然后,我们将拒绝您的请求,以便您可以进行更新 您的项目从公开到内部。
此外,您需要将您的项目与您的 请按照以下步骤进行组织:
如果您尚未这样做,请按照以下步骤创建组织 Quickstart Using Organizations说明。
将项目迁移到您创建的组织中,如下所示 Migrating Existing Projects into the Organization。一旦有了 将您的项目与您的组织,您和项目相关联 您单位中的用户可以使用该应用直接访问OAuth scopes。无需验证。