我正在创建一个Facebook页面应用程序,我需要从我的用户那里获得一些额外的权限,这会提示一个很多人已经阻止的弹出窗口,我记得看过许多应用程序指向授予权限带有回调网址的页面来处理这个问题。
这是被剥夺了吗?如果不是,我怎么能使用嵌入页面而不是弹出窗口?
我很抱歉,如果这听起来像是一个懒惰的问题,但是我已经参与Facebook并且他们的API似乎是一个巨大的移动目标已经很久了,任何提示都会非常感激。
谢谢。
答案 0 :(得分:7)
在Javascript中尝试这个小功能。
<script>
function addPermissions(permissions){
FB.login(function(response) {
if (response.session) {
if (response.perms) {
// user is logged in and granted some permissions.
} else {
// user is logged in, but did not grant any permissions
}
} else {
// user is not logged in
}
}, {perms:permissions});
}
</script>
<a onclick="addPermissions("email, publish_stream,...");">Click me</a>
答案 1 :(得分:0)
如果您没有在页面加载时弹出窗口并按响应链接/按钮执行此操作,请单击弹出窗口阻止程序不应阻止它,即用户实际请求Pop工作。 (我已经按照这种方式工作了)
您也可以创建相关的授权网址,然后将用户发送到那里。
最初通过对话框或重定向将它们发送到那里。 您可以再次将它们发送到那里,请求额外的权限,即Scope。
详细说明:
https://developers.facebook.com/docs/authentication/
对话框的URL可以弹出到新窗口或重定向到它。 通常会使用Javascript API弹出一个新窗口。
答案 2 :(得分:0)
我相信不推荐使用popup方法。标准方法是使用回调重定向到facebook oauth对话框。 iframe应用程序还有一种替代弹出方法,它不是一个可以阻止的弹出窗口,它更像是一个ajax弹出窗口。
就我提到的对话框的使用情况而言,您需要的信息位于 http://developers.facebook.com/docs/reference/dialogs/oauth/