Gmail API Nodejs and PM2 authentication



我已经在Nodejs中设置了使用Gmail API发送电子邮件的代码。它在本地机器上运行得非常好。它要求通过访问URL来输入代码。类似

Authorize this app by visiting this URL: someURL
Enter the code from that page here: copy-paste code here

这是谷歌根据Node.js Quickstart为Gmail自动完成的,它会自动生成token.json。开发过程中一切都很顺利。

现在在生产中,我使用PM2和Nginx部署我的应用程序。因此,现在每个节点服务器都在后台运行,日志在文件中生成。

我在日志文件Enter the code from that page here:中看到了上面的提示。但是,当日志通过管道传输到文件时,我无法粘贴代码,因为我无法访问标准输入。

我尝试过从本地生成token.json并在服务器中使用它,但似乎不起作用。

我该如何解决这个问题?有什么办法解决这个问题吗?

注意:授权和发送邮件的代码运行良好。我不想把它贴在这里,因为我不想这个问题太混乱。

如果您试图在不需要用户交互的情况下制作服务器应用程序,而不是使用常规OAuth,则可以尝试使用服务帐户。

尽管考虑到服务帐户本身没有Gmail API,因此您应该启用域侧委派来模拟域的另一个用户。

如果您坚持对真实用户进行身份验证,则可以在实现PM2之前检索token.json,然后再使用它。

此外,您还可以查看这两篇(1和2(github文章,这两篇文章也开启了您尝试使用stdin对用户进行身份验证的最初想法。

最新更新