Gmail API Nodejs 和 PM2 身份验证
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
这是 Google 在 Node.js Quickstart for Gmail 之后自动完成的,它会自动生成 token.json
。在开发中一切正常。
现在在生产中,我使用 PM2 和 Nginx 部署我的应用程序。因此,现在每个节点服务器都在后台 运行,并且在文件中生成日志。
我在日志文件Enter the code from that page here:
中看到了上面的提示。但是当日志通过管道传输到文件时,我无法粘贴代码,因为我无法访问标准输入。
我试过从本地生成 token.json
并在服务器中使用它,但似乎不起作用。
我该如何解决这个问题,有什么解决办法吗?
注意:授权和发送邮件的代码工作正常。我不在这里发布是因为我不想让问题变得混乱。
如果您尝试制作不需要用户交互的服务器应用程序而不是使用常规 OAuth,您可以尝试使用 Service Account.
虽然考虑到服务帐户本身没有 Gmail API,因此您应该启用 Domain-Wide Delegation 来模拟域的另一个用户。
如果您坚持要对真实用户进行身份验证,您可以在实施 PM2 之前检索 token.json
并在之后使用它。
您也可以看看这两个 (1 and 2) github 帖子,这也开启了您尝试使用 stdin
对用户进行身份验证的初步想法。
我已设置代码以在 Nodejs 中使用 Gmail API 发送电子邮件。它在本地机器上运行良好。它要求通过访问 URL 输入代码。像,
Authorize this app by visiting this URL: someURL
Enter the code from that page here: copy-paste code here
这是 Google 在 Node.js Quickstart for Gmail 之后自动完成的,它会自动生成 token.json
。在开发中一切正常。
现在在生产中,我使用 PM2 和 Nginx 部署我的应用程序。因此,现在每个节点服务器都在后台 运行,并且在文件中生成日志。
我在日志文件Enter the code from that page here:
中看到了上面的提示。但是当日志通过管道传输到文件时,我无法粘贴代码,因为我无法访问标准输入。
我试过从本地生成 token.json
并在服务器中使用它,但似乎不起作用。
我该如何解决这个问题,有什么解决办法吗?
注意:授权和发送邮件的代码工作正常。我不在这里发布是因为我不想让问题变得混乱。
如果您尝试制作不需要用户交互的服务器应用程序而不是使用常规 OAuth,您可以尝试使用 Service Account.
虽然考虑到服务帐户本身没有 Gmail API,因此您应该启用 Domain-Wide Delegation 来模拟域的另一个用户。
如果您坚持要对真实用户进行身份验证,您可以在实施 PM2 之前检索 token.json
并在之后使用它。
您也可以看看这两个 (1 and 2) github 帖子,这也开启了您尝试使用 stdin
对用户进行身份验证的初步想法。