我的应用程序现已完成,因此要将其置于联机状态,我在应用程序页面中禁用了“沙盒模式”。但它不起作用,如果我作为开发人员登录我可以运行应用程序,否则我得到404错误... Facebook告诉我它可能需要几分钟,但我在上午11点禁用'沙盒模式'! Facebook是否需要验证我的应用程序?
答案 0 :(得分:-1)
我找到了解决方案: 我们不能使用header('location:xxx.php')来询问app授权,(因为$ loginUrl为null)它必须是这样的:
try {
// On récupère l'UID de l'utilisateur Facebook courant
// On récupère les infos de base de l'utilisateur
$me = $fb->api('/me');
} catch (FacebookApiException $e) {
// S'il y'a un problème lors de la récup, perte de session entre temps, suppression des autorisations...
// On récupère l'URL sur laquelle on devra rediriger l'utilisateur pour le réidentifier sur l'application
$loginUrl = $fb->getLoginUrl(
array(
'canvas' => 1,
'fbconnect' => 0,
'redirect_uri' => 'http://www.facebook.com/pages/Point-dEncre-France-Page-officielle/178099798924693'
)
);
// On le redirige en JS (header PHP pas possible)
echo ("<script>top.location.href='".$loginUrl."'</script>");
但是要将用户重定向到画布应用,我必须使用
header('location:xxx.php')
而不是
<script>top.location.href="xxxx"</script>
否则FB会将用户重定向到画布视图之外。
另一个提示:如果你将'user id'存储到db中,请使用'big int'列,而不是像我那样使用'int'列!
希望它会帮助人们