Facebook获得访问令牌

时间:2011-02-23 08:47:49

标签: javascript facebook facebook-javascript-sdk

如何使用Facebook Graph API获取“访问令牌”。我有应用ID,用户的用户名和密码。只是我需要获取访问令牌,以便我可以访问新闻源,....和其他人。

1 个答案:

答案 0 :(得分:18)

好的,您需要在JavaScript中获取用户的access_token。你走了:

  1. 开始阅读JavaScript SDK documentation
  2. 以下内容将帮助您入门:

    <div id="fb-root"></div>
    <script>
    window.fbAsyncInit = function() {
        FB.init({
            appId      : 'YOUR_APP_ID', // App ID
            channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
            status     : true, // check login status
            cookie     : true, // enable cookies to allow the server to access the session
            xfbml      : true  // parse XFBML
        });
        // this shouldn't be called directly, but instead should be initiated with a user click event
        FB.login(function(response) {
            if (response.authResponse) {
                console.log('Access Token: ' + response.authResponse.accessToken);
            } else {
                console.log('User cancelled login or did not fully authorize.');
            }
        });
    
    };
    
    // Load the SDK Asynchronously
    (function(d){
        var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement('script'); js.id = id; js.async = true;
        js.src = "//connect.facebook.net/en_US/all.js";
        ref.parentNode.insertBefore(js, ref);
    }(document));
    </script>
    
  3. documentation中所述:

      

    调用FB.login会导致JS SDK尝试打开弹出窗口   窗口。因此,只应在用户单击后调用此方法   事件,否则大多数浏览器都会阻止弹出窗口。

  4. 从不 EVER 询问用户密码,如果提出要求,也不要将其提供给 ANY 应用程序您!如果确实如此,直接向Facebook报告!

  5. 这是“JavaScript”而非“Java Script”: - )