将apprequest重定向到页面,而不是应用程序页面

时间:2011-03-22 10:59:29

标签: facebook

我已经创建了一个应用程序,此应用程序位于粉丝专页选项卡中。但当有人邀请他的朋友时,邀请会重定向到应用程序页面,而不是粉丝页面选项卡。

我用它:

function invite(){  
FB.ui({
    method: 'apprequests',
    message: 'message',
    data: 'tracking information for the user'
},
    function(response) {
        location.href="CANVAS_URL?req="+response.request_ids;
       }
);

在我的应用配置中,我有:

网址画布:我网站上的网址

我的网站上的标签网址:网址

我该怎么办?

3 个答案:

答案 0 :(得分:3)

如果您使用的是PHP,则可以使用$ _SESSION变量。

<?php
session_start();

$app_token = '?'.file_get_contents('https://graph.facebook.com/oauth/access_token?client_id='.FACEBOOK_APP_ID.'&client_secret='.FACEBOOK_SECRET.'&grant_type=client_credentials');

if ( isset($_GET['request_ids']) && !empty($_GET['request_ids']) ) {
    $_SESSION['request_ids'] = $_GET['request_ids'];
            header('Location: ' . FACEBOOK_PAGE_TAB );
}

if ( isset($_SESSION['request_ids']) && !empty($_SESSION['request_ids']) ) {
    if ( strpos($_SESSION['request_ids'], ',') !== false ) {
        $request_ids = explode(',', $_SESSION['request_ids']);
        $_SESSION['request_ids'] = $request_ids[0];
        var_dump($_SESSION['request_ids']);
    }
    $request = json_decode(file_get_contents('https://graph.facebook.com/'.$_SESSION['request_ids'].$app_token));
    var_dump($request);
}
?>

$ _ SESSIONs似乎是当你让用户在apps.facebook.com/yourapp/和facebook.com/yourpage/?sk=app_123456之间跳转时的最佳解决方案,反之亦然。

干杯,

答案 1 :(得分:2)

我有类似的问题。这就是我所做的:

在您定义为画布URL的PHP​​页面中...

if(isset($_GET["request_ids"]))
{
    $page_id = 123;
    $app_id = 321;
    $url = "http://www.facebook.com/pages/FAN_PAGE/$page_id?sk=app_$app_id";
    ?>
    <script type="text/javascript">
        top.location.href = "<?=$url?>";
    </script>        
    <?            
    exit;
}

我们的想法是,您可以确定用户何时在推荐后看到您的应用主页

答案 2 :(得分:1)

转到粉丝页面的应用标签,复制该网址并粘贴到应用设置中的“书签网址”字段中。

然后,响应应用程序的人员将被定向到您的粉丝专页选项卡。