我正在运行一个 node.js 服务器应用程序,使用everyauth作为我的身份验证方案,并尝试从我的服务器访问 Facebook API。一旦用户登录(通过使用 Facebook 模块的everyauth),我目前处理此问题的方式是:
var oauth = everyauth.facebook.oauth;
oauth.get('https://api.facebook.com/method/fql.multiquery?format=json&queries=' + multiquery, req.session.auth.facebook.accessToken, function (err, data) { // do stuff here });
这最初有效,但几分钟后,通常大约 10m 不活动,我开始从 Facebook API 收到过期的令牌响应:
Error validating access token: Session has expired at unix time...
在阅读了一些Facebook 文档之后,似乎大多数访问令牌应该默认持续 2 小时,所以我想知道我是否没有以正确的方式形成 API 调用。欢迎任何建议/想法,谢谢!
编辑:
再多一点信息,错误调用返回的expire unix时间确实小于当前时间,只是不知道为什么会这么短。与此同时,我会做更多的调试......