通过扩展登录到facebook

通过扩展登录到facebook,facebook,facebook-graph-api,google-chrome-extension,Facebook,Facebook Graph Api,Google Chrome Extension,我已经在FacebookDeveloper上注册了我的应用程序,并获得了一个ID,但很难描述我的应用程序(chrome扩展),它是网站应用程序、移动应用程序、Facebook应用程序?我想做的是一个简单的扩展,允许用户只需点击它,后台JavaScript调用Facebook API,要求用户像这样登录 window.fbAsyncInit = function() { FB.init({ appId : '123456789', status : true

我已经在FacebookDeveloper上注册了我的应用程序,并获得了一个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是像这样的垃圾chromeextension://asdjlajsldj/或者有人知道解决方法吗?谢谢

我假设Facebook的API用于让应用程序访问用户数据。谷歌在其API部分提供了一种方法来实现这一点。我还发布了一个。请注意,我的方法将需要一些替换以适应Facebook的界面,但想法是相同的(我有一个GitHub分支来使用GitHub实现这一点)

基本上,您的扩展必须从Facebook为用户获取访问令牌,然后使用该令牌作为参数,您可以从API查询私有数据。让它看起来困难的是chrome扩展是沙盒的,并且没有返回URL,但是使用上面两种方法中的一种就可以了


祝你好运

正如我所料,沙箱不会让我轻易离开,是吗?非常感谢您提供的信息,我会看一看。@ClintHui使用我在GitHub上提供的方法其实很简单…@ClintHui如果您查看我的项目GitHub存储库,我使用的是我上面提供的OAuth2方法。