小编one*_*ece的帖子

Facebook JS SDK:在登录PopUp之前检查权限

我想在呈现iframe登录以请求扩展权限之前检查已登录用户的权限,但是iframe弹出窗口被浏览器阻止(ff,chrome tests).我想避免这种情况,我很确定它因为js函数的结果是'嵌套的' - 我的js聪明才有限,所以请原谅.

我猜测如果我可以保留原始函数中的所有内容而不传递结果,浏览器仍然会将登录iframe视为"用户启动"而不是阻止.

但我无法做到这一点 - 例如,为什么以下结果导致数据=未定义.

var data = FB.api(
{
method: 'fql.query',
query: 'SELECT create_event FROM permissions WHERE uid=' + response.session.uid
 });
alert(data); // = undefined
Run Code Online (Sandbox Code Playgroud)

我当前的完整代码是:

<button id="myButton" >Test Publish Event</button>

<script>

$('#myButton').bind('click', function() {

FB.getLoginStatus(function(response) {

if (response.session) {
// logged in and connected user, someone you know

FB.api(
  {
    method: 'fql.query',
    query: 'SELECT create_event FROM permissions WHERE uid=' + response.session.uid
  },
  function(response) {
        if(response[0].create_event == 1) {
                alert('permission granted');
        } else {
            alert('permission absent'); …
Run Code Online (Sandbox Code Playgroud)

facebook facebook-iframe facebook-javascript-sdk

4
推荐指数
1
解决办法
5501
查看次数