我创建了我的第一个Facebook应用程序,我需要拥有publish_stream权限。我可以通过循环遍历每个获得的权限并查看它是否存在但是如果用户否认它我可以使用PHP做什么来轻松检查它?
该应用程序嵌入在Facebook内部作为“画布应用程序”或其他任何名称。我知道如何通过给予具有新权限的登录URL来请求外部站点中的更多权限,但我不知道我怎么可能在应用程序内部执行此操作?
我用Google搜索并用谷歌搜索但是我能找到的就是如何获得具有权限的登录网址。我甚至尝试了但是没有任何事情发生,因为我已经登录了。
继承我试过的代码:
$loginUrl = $facebook->getLoginUrl(array(
'req_perms' => 'publish_stream,user_likes',
'next' => $_SERVER['PHP_SELF'],
'cancel_url' => $_SERVER['PHP_SELF'],
));
echo "<a href='" . $loginUrl . "'>login</a>";
答案 0 :(得分:0)
我知道如何通过给予具有新权限的登录网址来请求外部网站的更多权限,但我不知道我怎么可能在应用程序内部执行此操作?
基本上以同样的方式 - 通过使用适当的范围参数调用Auth对话框。
您在示例代码中出错的原因只是您在应用的iframe中链接到对话框的URL - 但是Auth对话框不允许显示在iframe中。将target="_top"
添加到链接,然后实际显示Auth对话框。 (您还必须将redirect_uri
参数设置为Facebook上应用的地址,例如https://apps.facebook.com/YOUR_APP_NAMESPACE
。)
当然,您也可以使用JS SDK中的FB.login
- 这会将Auth对话框显示为弹出窗口。