管理令牌共享的Google帐户以进行文件存储

时间:2015-09-01 19:23:10

标签: node.js heroku google-drive-api

我正在Heroku主持的Node.js中创建一个应用程序。使用passport.js,我已经使用与mySQL数据库集成的Google帐户实施了登录身份验证。

在部分申请中,我要求申请人上传一组文件。我想要处理上传的方式是通过谷歌驱动器API。从本质上讲,用户将能够选择文件,然后后端将上传到单帐户谷歌硬盘。注意:这将是任何申请人帐户的单独帐户。

虽然我了解上传和检索文件的过程,但我仍然不确定令牌是如何工作的。从我在网上的研究中我知道:

  • 访问令牌在一段时间后过期
  • 刷新令牌不会过期并将存储在数据库中

我的问题是如何在后端管理这些令牌。我目前的计划是使用google oauth playground获取共享帐户下应用的访问令牌。然后,每次我需要上传或访问文件时,我都会使用刷新令牌获取一个新的访问令牌,然后使用该访问令牌进行我的API调用。

但是,经过一些实施测试后,我有些困惑。我浏览了Google Node.js Quickstart Guide然后修改了代码以进行文件上传而不是文件阅读器。修改后的代码如下:

function fileUpload(auth) {
  var drive = google.drive({version: 'v2'});

  drive.files.insert({
    auth: auth,
    resource: {
      title:'Test',
      mimeType: 'text/plain'
    },
    media: {
      mimeType: 'text/plain',
      body: 'TEST'
    }
  }, function(err, response) {
    if (err) {
      console.log('The API returned an error ' + err);
      return;
    } else {
      console.log('Inserted')
    }
  });
}

根据我的理解,在访问令牌过期后,您不能再使用它了。但是,在访问令牌过期后运行代码后,它仍然能够完成该过程。此外,访问令牌也没有改变。因此,我的困惑是如何管理这些访问令牌,特别是如果我需要担心访问令牌过期,或者一旦使用它们它们是有效的。

0 个答案:

没有答案