facebook - 如何使用新的图形 API 在 FB 中显示扩展权限对话框?

标签 facebook authentication oauth

我之前使用旧的 rest api 在 Facebook 中显示权限对话框。 现在,有了新的图形 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(假设我希望人们点击不同的按钮并触发扩展的权限对话框)

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

有没有办法生成对话框?我试图弄清楚 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 对象并找到具有 permissions.request 的 UIServer 然后从那里,我继续搜索并找到这个解决方案。 FB.ui 对此只字未提.. 并且 FB.provide 没有记录。谢谢 Facebook 。

关于facebook - 如何使用新的图形 API 在 FB 中显示扩展权限对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4211033/

相关文章:

iphone - 多个应用程序使用同一个 FaceBook 单点登录帐户,如何选择哪个打开登录屏幕?

facebook - 通过 API 列出 Facebook 群组的成员

express - Next.js 的 Express Server API 存在 CORS 问题

node.js - 安全互连 node.js 应用程序/ worker /集群的基础知识是什么?

google-cloud-platform - 不同的 OAuth 用例应该使用不同的项目吗?

javascript - facebook like 按钮未显示在 webview 中(ios 和 android)

javascript - Facebook 墙贴错误 : The user hasn't authorized the application to

python - 扩展 django auth 登录 View

iphone - 移动应用程序中的 OAuth secret

oauth - 现在使用 oauth_token.do 服务 oauth 授予流程错误