Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Node.js Gmail API Nodejs和PM2身份验证_Node.js_Google Api_Gmail Api_Pm2 - Fatal编程技术网

Node.js Gmail API Nodejs和PM2身份验证

Node.js Gmail API Nodejs和PM2身份验证,node.js,google-api,gmail-api,pm2,Node.js,Google Api,Gmail Api,Pm2,我已经在Nodejs中设置了使用gmailapi发送电子邮件的代码。它在本地机器上运行良好。它要求通过访问URL输入代码。大概 Authorize this app by visiting this URL: someURL Enter the code from that page here: copy-paste code here 这由Google following自动完成,并自动生成token.json。在开发过程中,一切都很好 现在在生产中,我使用PM2和Nginx部署我的应用程序

我已经在Nodejs中设置了使用gmailapi发送电子邮件的代码。它在本地机器上运行良好。它要求通过访问URL输入代码。大概

Authorize this app by visiting this URL: someURL
Enter the code from that page here: copy-paste code here
这由Google following自动完成,并自动生成
token.json
。在开发过程中,一切都很好

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

我在日志文件
中看到上述提示,请在此处输入该页面中的代码:
。但由于日志是通过管道传输到文件的,我无法粘贴代码,因为我无法访问标准输入

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

我该如何解决这个问题?有没有办法解决这个问题


注意:用于授权和发送邮件的代码工作正常。我不想把它贴在这里,因为我不想把问题弄得乱七八糟。

如果您试图制作一个不需要用户交互的服务器应用程序,而不是使用常规OAuth,您可以尝试使用

尽管考虑到服务帐户本身没有Gmail API,但是您应该允许模拟域的另一个用户

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


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

如果您尝试在不需要用户交互的情况下创建服务器应用程序,而不是使用常规OAuth,您可以尝试使用。如果您坚持对真实用户进行身份验证,那么您可以在实现PM2之前检索
token.json
,然后再使用它,我想这前一个不适用于您?你说的“从本地”是什么意思?我想我需要使用服务帐户。我尝试过“在实现PM2之前使用token.json,然后再使用”,它似乎可以工作。但到期后会发生什么?本地的意思是本地主机。还有,如何在服务帐户中使用gmail API?如果你想在服务帐户中使用gmail API,你需要使用它,这样你就可以在你的域中模拟用户。也可以看看github和.Ok的这些链接。谢谢你的帮助。我会继续的。你能回答这个问题吗?我会接受的。