Facebook app动态如

时间:2011-09-29 15:05:50

标签: facebook url facebook-like href

我正在开发一个Facebook应用程序,用户可以在其中观看播放列表中的视频并查看图库中的图像。应用程序本身托管在我的服务器上,然后在facebook中设置为画布页面。我想要的是让用户能够“喜欢”单个视频和照片。我目前已设置它,以便在选择照片/视频时,它会修改“赞”按钮的href属性,并使用相应页面的url附加图像/视频ID的查询字符串。

e.g。 HREF = “http://www.myApp.com/index.php?id=0001”

这样可行,但问题是当“喜欢”事件发布在用户墙上时,创建的链接将转到托管页面而不是Facebook画布页面(换句话说,它将离开Facebook)。我想要的是用户墙上的“赞”链接将它们带到画布页面并在页面中选择正确的页面和图像/视频。

我可以将href设置为画布页面但是主页上的应用程序会让我直接转到喜欢的图片/视频。是否有一种方法可以修改网址,以便在点击时它告诉facebook确切地为画布页面设置了什么网址?

1 个答案:

答案 0 :(得分:0)

如果其他人遇到困难,我找到了解决办法。

将“赞”按钮的href属性设置为应用的Facebook页面,即“apps.facebook.com/myApp /”

然后,您可以在最后添加自己的查询字符串,以确定您要在应用中的位置。选择可能对您的应用程序而言唯一的名称,以便它不会与Facebook可能同时处理的任何内容发生冲突。即。

“apps.facebook.com/myApp/?myAppPage=photos&myAppId=003”

现在,在您的目标网页代码中,将这样的内容放在顶部:

if (isset($_REQUEST['myAppPage'])) {
$myAppPage = $_REQUEST['myAppPage'];
if (isset($_REQUEST['myAppId'])) {
    $myAppId = $_REQUEST['myAppId'];
    $qsName;
    switch ($myAppPage) {
        case "photos":
            $qsName = 'gal';
            break;
        Case "videos":
            $qsName = 'vid';
            break;
    }
    header("Location: $myAppPage.php?$qsName=$myAppId");
}
}

这应该将您的应用重定向到您想要的页面,而无需离开Facebook。然后,您只需要根据标题中传递的新查询字符串对页面进行编程以加载正确的内容。

希望这有助于某人。