Javascript 如何在Chrome中请求发布流权限
我如何申请facebook许可 当使用FB.login时,Chrome会阻止弹出窗口并抛出大量警告Javascript 如何在Chrome中请求发布流权限,javascript,facebook,facebook-javascript-sdk,facebook-authentication,Javascript,Facebook,Facebook Javascript Sdk,Facebook Authentication,我如何申请facebook许可 当使用FB.login时,Chrome会阻止弹出窗口并抛出大量警告 function askPermission() { FB.login( function(response) { if(response.authResponse) { // Do what I want to do } }, {scope:'publish_stream'}); } 因此,我尝试了以下方法: 但效果不太好
function askPermission() {
FB.login( function(response) {
if(response.authResponse) {
// Do what I want to do
}
}, {scope:'publish_stream'});
}
因此,我尝试了以下方法:
但效果不太好。我收到了一条错误消息,类似于
“应用程序中出现错误。请稍后再试。”
编辑:
Chrome仍然抛出了很多“不安全的JavaScript试图使用URL访问框架”,即使我尝试:
<input type="button" value="Convidar amigos" class="verde" onclick="FB.login(function(response){ if(response.authResponse){post();} }, {scope:'email,publish_stream'});"/>
您应该只在用户交互(单击、提交等)时调用FB.login
,否则在大多数浏览器中将被阻止。您看到的错误是因为JS-SDK无法与被阻止的窗口交互。我发现了使用重定向方法不起作用的原因。uri必须是绝对的。我没有在传递给参数redirect\u uri函数askPermission(appid、redirect\u uri、response\u type、scope、callback)的uri值中添加http://并且我没有收到错误描述,因为我用来测试的用户不是应用程序开发人员。愚蠢的错误。
<input type="button" value="Convidar amigos" class="verde" onclick="FB.login(function(response){ if(response.authResponse){post();} }, {scope:'email,publish_stream'});"/>