是否可以检查是否在画布中加载了应用程序? 我只希望人们在Facebook画布中使用我的应用程序,而不是在外面。
我正在使用Facebook Javascript SDK,在阅读有关signed_request(http://developers.facebook.com/docs/howtos/login/signed-request/)时,我看到当应用程序发布了signed_request在画布中加载。
但是我找不到任何方法在Javascript中检查这个,当使用FB.getLoginStatus时,总会有一个signed_request,无论它是否在画布内。
答案 0 :(得分:1)
您似乎找到了解决方案:您必须使用PHP(或您使用的任何服务器端语言)来确定是否通过Facebook查看该页面。
对于那些没有弄明白的人,使用PHP来确定变量signed_request是否已发布到页面。如果不是,那么您可以重定向到相应的Facebook页面,或根据需要采取其他行动。
<?php
//if signed_request was not posted...
if ( !isset ($_POST['signed_request'] ) )
{
$redirect = 'http://apps.facebook.com/exampleapp'; //the URL of your Facebook canvas app
header('Location:'.$redirect); //redirect the browser there
}
?>