Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 将google云服务帐户与组电子邮件连接时出现问题_Google Cloud Platform_Nodemailer_Google Workspace_Service Accounts - Fatal编程技术网

Google cloud platform 将google云服务帐户与组电子邮件连接时出现问题

Google cloud platform 将google云服务帐户与组电子邮件连接时出现问题,google-cloud-platform,nodemailer,google-workspace,service-accounts,Google Cloud Platform,Nodemailer,Google Workspace,Service Accounts,我没有安装no-reply@domain.com作为我的Gsuite管理面板中的电子邮件组。现在我想使用NodeJS中的电子邮件地址发送一封电子邮件,我正在使用NodeEmailer。为了实现这一点,我在谷歌云中创建了服务帐户,并添加了no-reply@domain.com以所有者身份分组。问题是,当我在我的节点应用程序中使用这些生成的凭据时,它会向我抛出一个错误未经授权的\u客户端 我在Gsuite中添加了客户端id和API权限中所需的GMAIL范围。只有用户帐户使用服务帐户,而不是组电子邮件

我没有安装
no-reply@domain.com
作为我的Gsuite管理面板中的电子邮件组。现在我想使用NodeJS中的电子邮件地址发送一封电子邮件,我正在使用NodeEmailer。为了实现这一点,我在谷歌云中创建了服务帐户,并添加了
no-reply@domain.com
以所有者身份分组。问题是,当我在我的节点应用程序中使用这些生成的凭据时,它会向我抛出一个错误
未经授权的\u客户端

我在Gsuite中添加了客户端id和API权限中所需的GMAIL范围。只有用户帐户使用服务帐户,而不是组电子邮件

这是我的示例nodemailer代码

const smtpTransport = nodemailer.createTransport({
    host: 'smtp.gmail.com',
    port: 465,
    secure: true,
    auth: {
         type: "OAuth2",
         user: "no-reply@domain.com", 
         serviceClient: "109120716xxxxxxxxxxxxxx",
         privateKey: "",
    }
});


我遵循本教程来实现这一点

您需要确保以下几点:

-设立 -确保为您的客户ID启用Gmail API。您可以按照此操作,在“谷歌API管理器”中搜索“Gmail API”

  • 确保您的客户有“https://mail.google.com/“为用户请求权限时为Gmail SMTP设置的作用域

下面是一个类似的示例,供您参考。

您未能正确设置G套件域范围的委派。编辑您的问题,并提供有关如何设置委派的详细信息。我不推荐那篇文章中的方法,因为那些凭证有太多的功能。他们对您的整个G套件帐户拥有管理员权限。相反,请创建一个用户登录名,并使用
用户名/密码
用户名/令牌
发送电子邮件。@JohnHanley您的意思是我应该为
否设置单独的电子邮件帐户-reply@domain.com
代替团体电子邮件?是的,您应该使用/创建一个G套件电子邮件帐户。然后使用这些凭证发送电子邮件。您试图在问题中使用模拟。我不知道你说的“不”是什么意思-reply@domain.com
。通常,这是一个不存在的电子邮件地址。这与域范围的委托(帐户模拟)无关。但是,我刚刚意识到您正在尝试模拟
否-reply@domain.com`. 这个账户存在吗?如果不存在,则无法模拟不存在的帐户。请确保您了解使用“无答复”地址所做的操作。请理解,用于向G套件进行身份验证的标识与回复电子邮件地址不同。它们可以相同,也可以不同。如果您不想被“阻止/列入黑名单”,您必须处理跳票、拒绝、投诉等。