我已经花了好几个小时,没有解决方案。
我有两个应用程序,两个都是沙箱模式,具有相同的设置,除了类别(进入),包括高级设置,从同一台服务器提供,使用相同的PHP SDK版本,甚至使用相同的登录脚本。
问题是,两个应用程序的auth对话框都不同。在一个完整的增强对话框中出现(Flops),另一个(Dummy App)只是在不同的屏幕和一个没有任何应用程序信息的小盒子中要求读取和写入权限。
现在,关于类别。第一个应用程序(虚拟应用程序)是一个新闻样式的应用程序,所以类别设置为新闻,第二个是游戏。当我为虚拟应用程序选择游戏时,对话框会像我想要的那样出现,就像第二个(触发器)一样。但这不是解决方案,也不能被接受。
有没有人能解决这个疯狂的问题?这些尝试没有成功:
以下是第一个应用的屏幕截图
第二个是这样的(我想在第一个应用中看到的那个)
如果可以通过代码实现,那么两个应用中的当前代码都是这样的:
// Load Facebook sdk
include_once ROOT . "/facebooksdk/facebook.php";
$config = array (
'appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_APP_SECRET,
'fileUpload' => true
);
$facebook = new Facebook($config);
// Request Facebook user
$facebookid = $facebook->getUser();
// Facebook returned signed request
if ( isset($_POST["signed_request"]) ) {
// $request = sanitize_string($_POST["signed_request"]);
// $signedRequest = parse_signed_request($request, FACEBOOK_APP_SECRET);
}
// User is missing, send user to permissions page
if ( !$facebookid ) {
$url = $facebook->getLoginUrl(array ( 'scope' => FACEBOOK_APP_PERMISSIONS ));
echo "<html><script>top.location.href='{$url}'</script><body>1</body></html>";
exit();
}
答案 0 :(得分:0)
在Facebook中归类为游戏的应用程序会获得不同的OAuth对话框。这不在你的控制之下。