我试图从旧的JavaScript库(我在使用Connect的地方)切换到新的Facebook JavaScript SDK,我无法获得权限对话框。我试图获取“数据权限”部分here下显示的权限对话框。如何在新的Facebook JavaScript SDK中请求权限?
我的老电话是这(用适当的初始化):
FB.Connect.showPermissionDialog('publish_stream');
我试图改变这(再次,进行适当的初始化),但它不工作,它运行没有错误,但回调永远不会运行:
FB.login(function(response)
{
if (response.session)
{
if (response.perms)
{
alert('user is logged in and granted some permissions: ' + response.perms);
}
else
{
alert('logged in but didnt grant permissions');
}
}
else
{
alert('not logged in');
}
},
{perms:'publish_stream'});
这是我使用的初始化代码:
window.fbAsyncInit = function()
{
FB.init({appId: 'xxxxxxxx', status: true, cookie: true, xfbml: true});
};
(function()
{
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
通过运行没有错误,你的意思是权限对话框出现?在FB初始化后,你确定触发了这个Login方法吗?尝试从应用程序首选项中删除应用程序,一旦授予它们权限就会被缓存。 – serg 2010-06-29 16:57:04
它不会抛出任何错误,它会运行但不执行任何操作(不提示)。尝试清除浏览器缓存并删除并重新添加应用程序,但仍然没有任何结果。 – 2010-06-29 20:38:16
如何触发它,在某个按钮上或文档加载?你发布的这段代码是正确的,所以问题在其他地方。也许发布你的FB init方法和触发登录的方法。 – serg 2010-06-29 21:08:19