使用服务帐户从node.js客户端发送电子邮件

时间:2015-12-29 15:35:22

标签: node.js google-api gmail-api

所以我有以下代码:

{ [Error: Bad Request]
  code: 400,
  errors: 
   [ { domain: 'global',
       reason: 'failedPrecondition',
       message: 'Bad Request' } ] }

我使用相同的生成密钥到我的Google日历API,因此服务帐户处于活动状态并正常工作。

我收到以下错误:

key.client_email

假设userId是我自己的谷歌电子邮件帐户是否正确? 我还试图使用client_idprintf("can print? %s\n", LONG_MAX > 5330111323L ? "yes" : "NO"); // 代替,但这并不起作用。

我真的很失落:)任何帮助,甚至只是如何调试它的提示都会很棒。

顺便说一句,我确实在console.developers上激活了gmail API

1 个答案:

答案 0 :(得分:1)

使用服务帐户,您无法使用自己的Gmail帐户。

使用服务帐户,只有在该域中实施domain wide delegation时才能模拟域中的用户。

在该参数中,您可以使用值“我”,该值接收经过身份验证的用户的电子邮件,在这种情况下是服务帐户电子邮件。

不要发送'资源',而是尝试发送'消息',就像在此documentation中的javascript示例一样。

如果您想从自己的Gmail帐户发送电子邮件,则必须实施正常的Oauth2