Facebook应用程序“配置错误的移动访问” - 根据Facebook设置在不同的地方工作,但不是一次到处都是

时间:2013-05-08 20:08:43

标签: facebook facebook-php-sdk facebook-apps

我开发了一个Facebook Web App(当你在apps.facebook.com/myappname加载iFrame时,它就存在于iFrame中)。

在Facebook App设置中,我设置了“Facebook上的应用”部分,以包含画布URL和安全的Canvas URL。

如果我还查看“移动网站”部分并输入移动网站网址的安全画布网址,那么每当我从移动浏览器(例如iPhone,iPad)加载应用时,我都会收到以下错误: “移动版应用程序”APPNAME“不可用,因为它配置错误,无法进行移动访问。”

如果我尝试从Facebook iOS应用程序转到应用程序,我也会看到相同的错误。

但是,如果我不是移动网站网址,那么我在移动版Safari中看不到任何错误,但是我在Facebook iOS应用程序中尝试链接到该应用时出现了不同的错误: “此应用程序尚未配置其移动Web URL,或者无法验证该应用程序拥有的URL。无法重定向。”

我做了很多搜索,但我无法找到正确的设置组合方向。我应该指定移动网址吗?它可以和画布URL一样吗?等

我目前在应用程序设置的“应用程序域”字段中没有指定任何内容,因为一个记录在案的错误似乎表明它可以破坏事物(并且当它到位时确实会导致错误)。

至于应用程序本身的代码,它没有做任何复杂的事情,代码的基础只是使用PHP SDK进行身份验证,如下所示:

<?php
    // get user from the facebook object
    $facebook = new Facebook(array(
        'appId' => $config['appId'],
        'secret' => $config['secret'],
    ));

    $user = $facebook->getUser();

    // if user is not loggedin, redirect to loginpage
    if(!$user){
        $login_url = $facebook->getLoginUrl(array(
            'redirect_uri' => 'MY_APP_URL_HERE'
        ));
        echo "<script type='text/javascript'>top.location.href = '$login_url';</script>";
        exit();
    }

    //get user from the facebook object
    $user = $facebook->getUser();
?>

任何人都可以提供的任何帮助或潜在客户都将非常感激。

谢谢!

2 个答案:

答案 0 :(得分:0)

在fb错误的评论中发布了一个解决方法:https://developers.facebook.com/bugs/124226157757972

Kirill Kazakov·Ecwid的软件开发人员 有趣的解决方法是从基于javascript的重定向中删除referrer。

答案 1 :(得分:0)

如果您设置了redirect_uri,则无法指向移动设备上的画布应用网址。尝试将查询字符串变量添加到您的移动URL并在确定您的redirect_uri时检测它,或者如果您不需要控制redirect_uri,只需省略它(它不是必需参数)。我不确定为什么FB不会让它再次重定向到移动URL而不是给出错误 - 猜测因为它们会破坏开发人员在设置redirect_uri时明确指定的行为。