我以前使用过的rest api在Facebook中显示“权限对话框”。
现在,有了新的graph API,我该怎么办? (我在IFrame应用中)。

我知道我可以在单独的窗口中欺骗并弹出权限:

FB.login(function(response) {
                  if (response.session) {
                    if (response.perms) {
                      // user is logged in and granted some permissions.
                      // perms is a comma separated list of granted permissions
                    } else {
                      // user is logged in, but did not grant any permissions
                    }
                  } else {
                    // user is not logged in
                  }
                }, {perms:'offline_access'});

那样..再次调用FB.login(假设我希望人们单击其他按钮并触发扩展的Permisison对话框)

但是,它看起来很丑陋,而且看起来不像对话框。

有没有一种生成对话框的方法?我试图弄清楚FB.ui是否可以提供帮助,但是关于它的信息很少。

另外,我认为“响应”回调从未执行过。我单击“不允许”或“允许”都不会触发任何回叫。任何想法?

hihih ..有人可以帮助我吗?

最佳答案

最后。从另一个网站找到解决方案。
第一的。在FB.init(...)之后去做:

FB.provide("UIServer.Methods",
    { 'permissions.request' : { size : {width: 575, height: 300},
    url: 'connect/uiserver.php',
    transform : FB.UIServer.genericTransform }
    } );

然后,每当需要调用权限对话框时,请执行以下操作:
FB.ui({method: "permissions.request", "perms": 'email,offline_access'},
    callBack);

我花了很长时间才通过查看FB对象来找出并发现有具有权限的UIServer.request,然后我一直在搜索并找到此解决方案。而FB.ui对此一无所知..且未记录FB.provide。谢谢facebook。

10-07 19:37
查看更多