我如何从 nodejs 服务器获取谷歌照片的访问令牌?如何处理 authUrl

问题描述

我正在尝试将照片从我的 nodejs 服务器上传到谷歌照片。为此,我遵循了官方指南,创建了一个谷歌项目和 OAuth 2.0 客户端 ID。

添加了 Authorized javascript origin :http://localhost:2000 和 授权重定向 URI:http://localhost:2000/gphotosredirect

从同意菜单中将自己添加为测试用户

我还获得了我的客户 ID 和 SECRET 并将它们添加到我的服务器代码中。通过 npm 安装 googleapis

    const oauth2clientForPhotos = new google.auth.OAuth2(GOOGLE_PHOTOS_CLIENT_ID,GOOGLE_PHOTOS_CLIENT_SECRET,"http://localhost:2000/gphotosredirect");
    const scopes = //some scopes defined here
    const gPhotosUrl = oauth2clientForPhotos.generateAuthUrl({
      // 'online' (default) or 'offline' (gets refresh_token)
      access_type: 'offline',// If you only need one scope you can pass it as a string
      scope: scopes,});
app.get('/gphotosredirect',function(req,res){
  console.log("here print the code")
  console.log(req.query)


})

generateAuthUrl 成功返回一个 url。 我的问题是如何处理这个 url? 我的 nodejs api 不是一个网站,它只是作为我的移动应用程序的 api。我的目标是将图片数据从 android 应用程序发送到 nodejs 服务器,然后将其上传到谷歌照片。我不希望 android 应用程序上传谷歌照片。

如果我只是通过将网址粘贴到浏览器来手动访问它(我不应该这样做,因为这是一个服务器?)

显示我选择一个帐户的 Google 登录页面。我选择我添加为测试的 google 帐户,批准权限,最后它重定向我,我得到控制台输出,其中包含令牌。

{ code:
   'xxxxxxxxx',scope:
   'https://www.googleapis.com/auth/photoslibrary.sharing https://www.googleapis.com/auth/photoslibrary' }

问题是,由于这个令牌不是永久性的,我每次启动服务器时都必须这样做,我该如何自动执行?获取 url 后如何以编程方式获取代码

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...