通过扩展程序登录facebook

时间:2012-03-19 04:19:15

标签: facebook facebook-graph-api google-chrome-extension

我已经在Facebook开发者上注册了我的应用程序并获得了一个ID,但很难描述我的应用程序(chrome扩展程序),它的网站应用程序,移动应用程序,Facebook应用程序?我想做的是一个简单的扩展,允许用户只需点击它,后台JavaScript调用Facebook API来要求用户这样登录。

window.fbAsyncInit = function() {
    FB.init({
        appId : '123456789',
        status : true,
        cookie : true,
        xfbml : true,
        oauth : true,
    });
};

chrome.browserAction.onClicked.addListener(function(tab) {
    FB.login(function(response) {
        if(response.authResponse) {
            alert('Welcome!  Fetching your information.... ');
            FB.api('/me', function(response) {
                console.log('Good to see you, ' + response.name + '.');
            });
        } else {
            alert('User cancelled login or did not fully authorize.');
        }
    });
});

然而,它弹出一个窗口,说明发生了错误,这是另一种说法“我没有被授权”,我如何在Facebook开发者页面上指定我的应用程序的URL,因为扩展程序的URL像垃圾一样这个 chrome扩展名:// asdjlajsldj / 或者有谁知道任何解决方法?谢谢

1 个答案:

答案 0 :(得分:0)

我认为Facebook的API使用OAuth 2让应用程序访问用户数据。 Google提供了一种在API部分使用example执行此操作的方法。我还发布了一个alternative method on GitHub。请注意,我的方法将需要一些替换来适应Facebook的界面,但想法是相同的(我有一个GitHub分支,用GitHub执行此操作)。

基本上,您的扩展程序必须从Facebook获取用户的访问令牌,然后使用此令牌作为参数,您可以从API查询私有数据。看起来很困难的事实是chrome扩展是沙箱并且没有返回URL,但是使用上述两种方法之一就可以了。

祝你好运!