2

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

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_autohized 部分使用 login(),窗口会出现并立即关闭(自动)

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

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

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

4

1 回答 1

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'});
    }
于 2013-04-09T14:25:53.137 回答