Facebook Auth对话是不同的

时间:2013-09-04 22:19:32

标签: php facebook oauth

我已经花了好几个小时,没有解决方案。

我有两个应用程序,两个都是沙箱模式,具有相同的设置,除了类别(进入),包括高级设置,从同一台服务器提供,使用相同的PHP SDK版本,甚至使用相同的登录脚本。

问题是,两个应用程序的auth对话框都不同。在一个完整的增强对话框中出现(Flops),另一个(Dummy App)只是在不同的屏幕和一个没有任何应用程序信息的小盒子中要求读取和写入权限。

现在,关于类别。第一个应用程序(虚拟应用程序)是一个新闻样式的应用程序,所以类别设置为新闻,第二个是游戏。当我为虚拟应用程序选择游戏时,对话框会像我想要的那样出现,就像第二个(触发器)一样。但这不是解决方案,也不能被接受。

有没有人能解决这个疯狂的问题?这些尝试没有成功:

  • 我已经将应用程序更改为沙盒和实时。
  • 完全更改请求代码。
  • 更改权限,使两者相同。
  • 添加canvas => 1表示请求,以及getLoginUrl可以拥有的任何其他设置

以下是第一个应用的屏幕截图 this is wrong

第二个是这样的(我想在第一个应用中看到的那个) aah perfect

如果可以通过代码实现,那么两个应用中的当前代码都是这样的:

  // 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();
  }

1 个答案:

答案 0 :(得分:0)

在Facebook中归类为游戏的应用程序会获得不同的OAuth对话框。这不在你的控制之下。