【问题标题】:Facebook app dynamic likeFacebook应用动态喜欢
【发布时间】:2011-11-27 19:13:25
【问题描述】:

我正在开发一个 facebook 应用程序,用户可以在其中观看播放列表中的视频并查看画廊中的图像。该应用程序本身托管在我的服务器上,然后在 facebook 中设置为画布页面。我想要的是让用户能够“喜欢”单个视频和照片。我目前已经设置了它,以便选择照片/视频时,它会发出“like”按钮的href属性,其中包含与图像/视频ID的querystring附加的适当页面的URL。

例如href="http://www.myApp.com/index.php?id=0001"

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

我可以将 href 设置为转到画布页面,但这将是主页上的应用程序,我希望它直接转到喜欢的图像/视频。有没有办法可以修改 url,以便在单击它时告诉 facebook 为画布页面设置什么 url?

【问题讨论】:

    标签: facebook url facebook-like href


    【解决方案1】:

    如果其他人对此有困难,我已经找到了解决方案。

    将“赞”按钮的 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。然后,您只需要对页面进行编程,以根据标头中传递的新查询字符串加载正确的内容。

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      相关资源
      最近更新 更多