0

我一直在寻找几个小时,似乎无法找到我的问题的答案,所以我来这里寻求帮助。

我在 facebook 上有一个赞。用户低谷后,他得到一个朋友邀请窗口,这个也可以正常工作,显示朋友,发短信和邀请人。问题是当用户被邀请到应用程序时,他的链接直接将他定向到没有框架的应用程序(没有喜欢按钮继续)。

我可以通过使用另一个喜欢的按钮来解决这个问题,但我不想这样做。有什么方法可以让我创建这种绕行方式吗?

  1. 不喜欢该页面的人会得到启动画面。不喜欢的页面
  2. 喜欢的人,进去吧。
  3. 被邀请的人,得到没有喜欢按钮的直接链接...链接到图片

我在开发方面还很陌生,所以请尝试尽可能简单地解释。先感谢您

4

1 回答 1

0

“问题是当用户被邀请使用应用程序时,他的链接直接将他定向到没有框架的应用程序(没有喜欢按钮继续)。”

这会将您的访问者从没有“赞”按钮的页面重定向到有“赞”按钮的页面。

<script>
    if(document.URL.indexOf("fb_source") != -1)
    {
    top.location.href = "http://www.facebook.com/pages/PAGE_NAME/PAGE_ID/APP_ID";
    //change accordingly
    }
</script>

“不喜欢页面的人得到启动画面。喜欢的人进入。”

执行 FQL 查询以检查您的访问者是否已经喜欢您的页面。

$page_id = PAGE_ID; //change accordingly
$facebook = new Facebook(array(
    'appId'  => APP_ID, //change accordingly
    'secret' => APP_SECRET, //change accordingly
    'cookie' => true,
));
$access_token = $facebook->getAccessToken();

function userIsFan()
{
    global $page_id, $facebook, $access_token;
    $fql = "SELECT uid from page_fan WHERE uid=me() AND page_id='".$page_id."'";
    $param = array('method' => 'fql.query',
    'access_token' => $access_token,
    'query' => $fql,
    'callback' => '');
    $response = $facebook->api($param);
    if (isset($response[0]))
    {
        return true;
    }
    return false;
}

如果他们喜欢您的页面,请将他们定向到您的应用程序(yourApplication.php),否则将他们定向到您的启动页面(splashPage.php),要求他们喜欢您的页面。

if (userIsFan())
{
    header("Location: yourApplication.php"); //change accordingly
}
else
{
    header("Location: splashPage.php"); //change accordingly
}
于 2012-06-21T10:19:38.970 回答