【问题标题】:How to get OAuth2 token from an EC2 instance with no browser using nodejs google api如何使用nodejs google api从没有浏览器的EC2实例获取OAuth2令牌
【发布时间】:2020-03-12 13:37:47
【问题描述】:

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

通过访问此 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

任何指针将不胜感激。

【问题讨论】:

    标签: node.js amazon-ec2 google-drive-api google-docs google-oauth


    【解决方案1】:

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

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

    【讨论】:

    • 我已经尝试过了,但遗憾的是它不起作用,我无法获得任何日志信息:(谢谢。
    • 如果没有错误消息,我无法帮助您。我将补充一点,如果您更新凭据的范围,则必须重新执行该过程才能获得具有新范围的更新令牌。
    • 我很抱歉 - 有一个不同的错误!你的方法确实有效!谢谢。
    猜你喜欢
    • 2016-10-13
    • 2013-02-23
    • 2019-04-05
    • 2014-03-29
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多