2013-04-09 97 views
2

我创造了这个简单的代码:如何授权使用JavaScript的Facebook应用程序

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部分,窗口出现,并立即关闭( automaticaly)

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

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

这里是我的全码:http://pastebin.com/Qv9ayb9V

+1

如果你去了Facebook开发者页面,你会找到你需要的答案。 – 2013-04-09 14:24:16

+0

您是否定义了一个包含'FB.login'的'login'函数? – dm03514 2013-04-09 14:24:40

+0

您正在从FB.login获得响应 - 为什么您没有通过将其记录到控制台来检查它包含的内容? – CBroe 2013-04-09 14:38:12

回答

2

根据更新后的信息进行更新,现在它是一个在黑暗中拍摄...

您可能已经验证您的应用程序?并登录到Facebook。

尝试去facebook.com并注销。 (或使用FB.logout())重新登录到您的网站。您应该被要求在弹出窗口登录


Facebook提供了一步一步的指导,在他们的网站上解释如何做到这一点。

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

你定义login功能?

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

的FB.login需要额外PARAM一些配置选项:它不是Facebook提供一个就是scope

{scope: 'email,publish_actions'}

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

谢谢我刷新了我的代码 – 2013-04-09 14:29:46

+0

现在的问题是,弹出窗口出现并立即关闭。 – 2013-04-09 14:32:24

+0

@CarlMark你尝试注销Facebook吗? – dm03514 2013-04-09 14:36:02

相关问题