facebook - 在 Javascript SDK 中处理 Facebook 访问 token 过期

标签 facebook facebook-graph-api facebook-javascript-sdk

我正在使用 Facebook Javascript SDK http://developers.facebook.com/docs/reference/javascript/验证并批准我的 Facebook 应用程序。 我的SDK代码如下:

window.fbAsyncInit = function() 
{
    FB.init({
        appId : 'MY_APP_ID', 
        status : true, // check login status
        cookie : true, // enable cookies to allow the server to access the session
        xfbml : true,  // parse XFBML
        oauth : true
    });

    FB.login(function(response) 
    {
        if (response.authResponse) 
        {
            var userFBAccessToken  =  response.authResponse.accessToken;
            console.log('userFBAccessToken: ' + userFBAccessToken);
            FB.api('/me', function(response) 
            {
                console.log('Good to see you, ' + response.name + '.');
                FB.logout(function(response) {
                    console.log('Logged out.');
                });
            });
        } else {
            console.log('User cancelled login or did not fully authorize.');
        }
    }, {scope: 'user_activities,user_notes,user_photos,user_videos,user_status,offline_access'});
};  

// Load the SDK Asynchronously
(function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
}());

我对offline_access 弃用感到困惑。我的问题是,如果我在应用程序高级设置页面中启用“弃用离线访问”选项:

  1. 我从response.authResponse.accessToken收到的访问 token 的到期时间是多少。是2小时还是60天? (现在和2012年5月1日之后的持续时间是多少)

  2. 如果只有 2 小时,如何将其延长到 60 天?

  3. 检索到的访问 token 是仅在用户在线时有效还是在离线时也有效?

谢谢。

最佳答案

1+2。有效期为 2 小时。到期后您需要延长它。延长请求在“客户端 OAuth 和通过新端点延长 Access_Token 过期时间”下进行了解释: https://developers.facebook.com/roadmap/offline-access-removal/

  1. 应始终有效。

关于facebook - 在 Javascript SDK 中处理 Facebook 访问 token 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10121514/

相关文章:

asp.net - 带有动态 url 的 ASP.NET 中的 Facebook 评论

php - 使用新的 PHP SDK (3.X.X) 请求许可

使用 CloudFlare 页面规则重定向到 HTTPS 时 Facebook 共享调试器出现错误

javascript - 如何使用 React Native Facebook SDK GraphRequest 获得高质量的头像?

php - 使用 facebook graph api 选择特定字段

javascript - 为什么使用 Facebook 的 Graph API(通过 AJAX POST)上传的图片会获得 "Only Me"权限?

javascript - 如何使用自定义属性创建/发布 Open Graph 对象实例/记录?

javascript - Facebook Javascript SDK使用 'me'调用图形API

javascript - Facebook Javascript SDK - 未安装我的应用程序的带有图片的好友列表

ios - 应用重新启动后 Facebook 访问 token 为零