Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查google访问令牌日期是否过期_Javascript_Meteor_Google Oauth_Momentjs - Fatal编程技术网

Javascript 如何检查google访问令牌日期是否过期

Javascript 如何检查google访问令牌日期是否过期,javascript,meteor,google-oauth,momentjs,Javascript,Meteor,Google Oauth,Momentjs,我想检查我数据库中的accesstoken是否过期 我正在使用meteor框架,当我登录时,它保存在我的数据库中,如下所示 "expiresAt" : ISODate("2015-03-24T07:03:41.000Z"), 我正在尝试使用以下方法检查此日期是否过期 var dd=new Date(google.expiresAt).getTime(); if(dd < Date.now()){ var r = HTTP.post("https://accou

我想检查我数据库中的accesstoken是否过期

我正在使用meteor框架,当我登录时,它保存在我的数据库中,如下所示

 "expiresAt" : ISODate("2015-03-24T07:03:41.000Z"),
我正在尝试使用以下方法检查此日期是否过期

   var dd=new Date(google.expiresAt).getTime();
    if(dd < Date.now()){
      var r = HTTP.post("https://accounts.google.com/o/oauth2/token",{
                params: {
                  'client_id': googleConf.clientId,
                  'client_secret': googleConf.secret,
                  'refresh_token': google.refreshToken,
                  'grant_type': 'refresh_token'
                }
              });
    }
    var expiry=new Date((new Date) + r.data.expires_in * 1000);
var dd=新日期(google.expiresAt.getTime();
如果(dd
像这样更新,这些代码不起作用

我也试过这个

if (google.expiresAt < +(new Date()).toISOString() + 10 * 1000) {
  var r = HTTP.post("https://accounts.google.com/o/oauth2/token",{
            params: {
              'client_id': googleConf.clientId,
              'client_secret': googleConf.secret,
              'refresh_token': google.refreshToken,
              'grant_type': 'refresh_token'
            }
          });
}
var expiry=new Date((new Date) + r.data.expires_in * 1000);
if(google.expiresAt<+(new Date()).toISOString()+10*1000){
var r=HTTP.post(“https://accounts.google.com/o/oauth2/token",{
参数:{
“客户端id”:googleConf.clientId,
“客户机密”:googleConf.secret,
“刷新令牌”:google.refreshttoken,
“授权类型”:“刷新令牌”
}
});
}
var到期=新日期((新日期)+r.data.expires_in*1000);

这两种方法都不起作用,如何确切地知道日期是否过期

Access令牌在一小时后过期。当你拿到它时记录,如果超过一个小时,就换一个新的。@DaImTo糟糕的举动。访问令牌总是带有一个expires值,这是您应该使用的值,而不是假设为1小时。例如,{“访问令牌”:“1/fFBGRNJru1FQd44AzqT3Zg”,“expires_in”:3920,“令牌类型”:“Bearer”}我总是让客户机库来处理它easier@noName你能不能详细谈谈“不工作”。预期结果与实际结果是什么?虽然我的令牌过期,但循环没有执行,检查工作不正常