0

是否可以检查应用程序是否加载到画布内?我只希望人们在 Facebook 画布内使用我的应用程序,而不是在外面。

我正在使用 Facebook Javascript SDK,在阅读有关 signed_request (http://developers.facebook.com/docs/howtos/login/signed-request/) 的信息时,我看到在加载应用程序时发布了一个 signed_request画布。

但是我找不到任何方法在 Javascript 中检查这一点,当使用 FB.getLoginStatus 时,总是有一个 signed_request,无论它是否在画布内。

4

1 回答 1

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
        }
?>
于 2012-12-01T01:45:00.417 回答