如何在没有浏览器的情况下使用 nodejs 从 EC2 实例获取 OAuth2 令牌 google api

How to get OAuth2 token from an EC2 instance with no browser using nodejs google api

我有一个 node.js 应用程序,它使用 google 驱动器 API 将文件上传到 google 驱动器。它在我的本地机器上运行良好。我现在正在尝试将它迁移到 EC2 实例,但是当我 运行 使用节点的应用程序时,我无法通过访问 url...

来验证

Authorize this app by visiting this url: https://accounts.google.com/o/oauth2/v2/auth?>access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&response_type=code&cl>ient_id=xxxxxxxxxxxx.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoo>b

不确定如何进行,因为机器上没有浏览器 - 这让我怀疑我是否为此应用程序使用了正确的协议?我对所有可用的不同选项感到非常困惑。

我基本上使用此处列出的选项:https://developers.google.com/docs/api/quickstart/nodejs

任何指点将不胜感激。

按照 NodeJs Drive API quickstart 中的步骤,您可以首次在本地 运行 您的应用程序,这样会提示同意屏幕,您将能够授予权限。这样,将在您的目录中创建一个 token.json 文件,该文件将用于创建用于授权后续请求的刷新令牌。您可以将包含 token.json 文件的应用程序上传到 EC2 实例,而无需再次授权该应用程序。

您可以在 Google 的 OAuth documentation 中阅读有关使用离线访问刷新访问令牌的更多信息。