Facebook javascript登录,发布操作对话框不起作用
我正在开发一个简单的应用程序,用户可以通过Facebook登录并撰写产品评论。当我使用Facebook javascript登录,发布操作对话框不起作用,javascript,facebook,facebook-javascript-sdk,facebook-login,Javascript,Facebook,Facebook Javascript Sdk,Facebook Login,我正在开发一个简单的应用程序,用户可以通过Facebook登录并撰写产品评论。当我使用publish\u actionsextended permission scope进行初始登录时,登录对话框在basic\u info步骤后冻结 下面是对所发生情况的更详细解释: “使用Facebook登录”按钮显示在publish\u操作范围内 单击按钮打开Facebook登录屏幕(如果未登录) 登录(或如果已经登录)后,会出现basic_info权限屏幕,说明“应用程序将接收以下信息:您的公共配置文件和
publish\u actions
extended permission scope进行初始登录时,登录对话框在basic\u info
步骤后冻结
下面是对所发生情况的更详细解释:
- “使用Facebook登录”按钮显示在
publish\u操作范围内李>
- 单击按钮打开Facebook登录屏幕(如果未登录)
- 登录(或如果已经登录)后,会出现
权限屏幕,说明“应用程序将接收以下信息:您的公共配置文件和好友列表。”basic_info
- 单击“确定”会导致“确定”按钮被禁用,但不会进入“扩展权限”对话框李>
FB.login
附加到元素。两种方法产生相同的结果。单击“基本权限”步骤上的“确定”后,登录对话框冻结
关于如何使其进入最后的扩展权限步骤,有什么想法吗
JS
// Additional JS functions here
window.fbAsyncInit = function() {
FB.init({
appId : 'MY APP ID',
status : true,
cookie : true,
xfbml : true
});
};
// Load the SDK Asynchronously
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
在尝试其他事情时偶然发现了一个解决方案 我使用的Facebook登录按钮如下:
<div
id="fblogin"
class="fb-login-button"
data-show-faces="false"
data-width="200"
data-max-rows="1"
data-scope="publish_actions"
login_text="Login to Review" >
</div>
问题解决了
$('#fblogin').click(function(){
FB.login(function() {
}, {scope: 'publish_actions'});
return false;
});