4

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

4

1 回答 1

19

好的,所以您需要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>
    
  3. 文档中所述:

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

  4. 永远不要 询问用户密码,也不要将其提供给任何应用程序(如果它要求您)!如果是,请直接向 Facebook 报告!

  5. 它是“JavaScript”而不是“Java Script”:-)

于 2011-02-23T14:04:01.470 回答