如何使用javascript授权Facebook应用程序

时间:2013-04-09 14:20:28

标签: javascript facebook facebook-graph-api

我创建了这个简单的代码:

FB.getLoginStatus(function(response) {
      if (response.status === 'connected') {
        alert('connected');// connected

      } else if (response.status === 'not_authorized') {

      alert('not_authorized');// not_authorized


      } else {
        alert('not_logged_in');// not_logged_in
        login();
      }

这是登录功能,但如果我在not_autorhized部分使用login(),窗口会出现并立即关闭(自动)

function login() {
    FB.login(function(response) {
        if (response.authResponse) {
            // connected            
        } else {
            // cancelled
        }
    });
}

但是如何在javascript中授权应用程序?

这是我的完整代码:http://pastebin.com/Qv9ayb9V

1 个答案:

答案 0 :(得分:2)

根据您的最新信息进行了更新,现在它是在黑暗中拍摄的......

您可能已经对自己的应用进行了身份验证?并登录到Facebook。

尝试访问facebook.com并退出。 (或使用FB.logout())然后重新登录到您的站点。您应该被要求登录弹出窗口


Facebook在其网站上提供分步指南,说明如何执行此操作。

https://developers.facebook.com/docs/howtos/login/getting-started/

您是否定义了login功能?它不是由facebook提供的:

function login() {
    FB.login(function(response) {
        if (response.authResponse) {
            // connected
        } else {
            // cancelled
        }
    });
}

FB.login使用一些配置选项获得额外的参数:一个是scope

{scope: 'email,publish_actions'}

   function login() {
        FB.login(function(response) {
            if (response.authResponse) {
                // connected
            } else {
                // cancelled
            }
        }, {scope: 'email,publish_actions'});
    }