我开发了一个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();
?>
任何人都可以提供的任何帮助或潜在客户都将非常感激。
谢谢!
答案 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时明确指定的行为。