我正在研究Nodejs Google 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驱动器api(不是google plus),我不确定是否可以使用访问令牌我从应用程序的服务器端(nodejs)获得,或者我必须使用google api JS客户端执行另一个OAuth。
答案 0 :(得分:4)
确定访问令牌是否过期的最佳做法是尝试使用它。虽然返回的包包含* expires_in *参数,表示访问令牌到期之前的秒数,但这并不可靠,因为它可能随时因其他原因被撤销和替换。
程序通常是
如果您正在使用该库进行其他Google API调用,则会自动为您处理。