【问题标题】:Facebook Auth Dialog Is DifferentFacebook 身份验证对话框不同
【发布时间】:2013-09-04 22:19:31
【问题描述】:

我已经为此苦苦挣扎了几个小时,没有解决方案。

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

问题是,两个应用程序的身份验证对话框不同。在一个显示完整的增强对话框(Flops)中,另一个(Dummy App)只是在不同的屏幕和一个没有任何应用程序信息的小框中请求读取和写入权限。

现在,关于类别。第一个应用程序(虚拟应用程序)是新闻风格的应用程序,因此类别设置为新闻,第二个是游戏。当我为虚拟应用程序选择游戏时,对话框会按照我的意愿出现,就像第二个(翻牌)一样。但这不是解决方案,不能接受。

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

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

这是第一个应用程序的屏幕截图

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

如果可以通过代码实现,目前两个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();
  }

【问题讨论】:

    标签: php facebook oauth


    【解决方案1】:

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

    【讨论】:

    • 这感觉像是一种惩罚。今天我发现我目前使用的大多数应用程序都显示确定/取消对话框,这看起来像是一条错误消息。这肯定会降低每日新用户数。
    • 几乎每个应用程序都使用这个新对话框。 Facebook 对这些东西进行了大量的 A/B 测试——它可能会转换得更好。不要确定你的直觉是正确的。
    • 顺便感谢您的回复。接受这个作为正确答案。
    猜你喜欢
    • 2012-05-01
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    相关资源
    最近更新 更多