Facebook获得访问令牌

SNR*_*SNR 4 javascript facebook facebook-javascript-sdk

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

ifa*_*our 18

好的,所以你需要access_token用JavaScript 获取用户.干得好:

  1. 开始阅读JavaScript SDK文档
  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>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 文档中所述:

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

  4. NEVER EVER索要用户密码也不给任何应用程序,如果问你!如果确实如此,直接向Facebook报告!

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