如何使用Facebook JavaScript SDK生成访问令牌

如何使用Facebook JavaScript SDK生成访问令牌,javascript,php,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Php,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我正在使用JavaScript SDK创建一个应用程序,其中列出了参加公共活动的用户。当用户登录时,一切都很好,但是我在尝试查看数据时出错,因为没有访问令牌 如何在不登录的情况下安全地生成用于显示事件详细信息的访问令牌?我知道这可以通过PHPSDK在服务器端完成,但我宁愿坚持使用JavaScript,除非我别无选择。谢谢你的回复 window.fbAsyncInit = function() { FB.init({ appId : '{my-app-id}', stat

我正在使用JavaScript SDK创建一个应用程序,其中列出了参加公共活动的用户。当用户登录时,一切都很好,但是我在尝试查看数据时出错,因为没有访问令牌

如何在不登录的情况下安全地生成用于显示事件详细信息的访问令牌?我知道这可以通过PHPSDK在服务器端完成,但我宁愿坚持使用JavaScript,除非我别无选择。谢谢你的回复

window.fbAsyncInit = function() {
FB.init({
    appId      : '{my-app-id}',
    status     : true,
    xfbml      : false
});

FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
        // the user is logged in and has authenticated your
        // app, and response.authResponse supplies
        // the user's ID, a valid access token, a signed
        // request, and the time the access token 
        // and signed request each expire

        var uid = response.authResponse.userID;
        var accessToken = response.authResponse.accessToken;

        setupApp();
        alert('Connected');

    } else if (response.status === 'not_authorized') {
        // the user is logged in to Facebook, 
        // but has not authenticated your app

        alert('Not authenticated.');

    } else {
        // the user isn't logged in to Facebook.

        alert('Not logged in.');

    }
}); // end getLoginStatus


function FBLogin() {
    //console.log('login');
    FB.login(function (response) {
        if (response.authResponse) {
            alert('wooooohoo');
        }
    }, {
        scope: 'rsvp_event,publish_stream,offline_access,friends_events'
    });
}}; // end Init

即使使用PHP,OAuth标准也要求用户登录,请参阅。您最好的选择可能是生成一个长寿命令牌,这样您只需登录一次,并且在需要刷新之前,它将覆盖您大约60天。谢谢您的帮助!我会调查这件事,看看是否能成功。我只希望有一种方法可以在JS中生成访问令牌,而无需向世界广播我的应用程序机密…调用用户访问令牌只需要JS中的AppID,如果需要应用程序机密,我相信应用程序令牌,Facebook要求您在服务器端进行调用正是出于这个原因。如果您正试图检索应用程序令牌,我不确定您是否可以避免使用服务器端选项。PS-为更多的女孩欢呼;遗憾的是,我认为我将不得不求助于服务器端。我并不反对PHP,我只是希望能够在客户端单独使用JavaScript。再次感谢你是的!呜呼。女孩FTW。