我正在研究Nodejs谷歌Api客户端Oauth过程。我遵循oauth的代码示例https://github.com/google/google-api-nodejs-client/blob/master/examples/oauth2.js。
我有一个问题。如何检查访问令牌是否过期,以及如何使用刷新令牌再次获取另一个访问令牌?
更具体地说,让我们假设获取Google+用户配置文件的访问权限,所以我使用访问令牌获取用户配置文件:
getAccessToken(oauth2Client, function() {
// retrieve user profile
getUserProfile(client, oauth2Client, 'me', function(err, profile) {
if (err) {
console.log('An error occured', err);
return;
}
console.log(profile.displayName, ':', profile.tagline);
});
});
此外,在应用程序的客户端(backbonejs)中,如果我试图使用google api JS客户端访问google drive api(而不是google plus),我不确定我是否可以使用从应用程序的服务器端(nodejs)获得的访问令牌,或者我必须使用google api JS客户端执行另一个OAuth。
确定访问令牌是否过期的最佳做法是尝试使用它。虽然返回的bundle包含*expires_in*参数(指示访问令牌过期的秒数),但这是不可靠的,因为它随时可能因其他原因被撤销和替换。
然后,通常的程序是
如果您正在使用库执行其他Google API调用-这将自动为您处理。