【问题标题】:How to create a fan / like gate on Facebook?如何在 Facebook 上创建粉丝/点赞门?
【发布时间】:2012-01-23 12:39:31
【问题描述】:

我正在尝试创建一个简单的风扇/类似门。您在其中为没有粉丝指定一个内容,为粉丝指定其他内容(如果他们按下了“赞”按钮)。但是,当我在页面选项卡中运行页面时,它不会返回签名请求,因此我无法弄清楚如何去做。有人可以发布教程或对此进行修复吗?此时我得到以下代码:

index.php

<?php
require dirname( __FILE__ ) . '/../api/facebook.php';

// Create our application instance
// (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => '112458478872227',
  'secret' => 'X',
  'cookie' => true
));

$signed_request = $facebook->getSignedRequest();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <title>Home</title>
</head>
<body>

<?php 
if ( $signed_request['page']['liked'] ) 
{
    echo 'A fan';
}
else
{
    echo 'Not a fan yet.';
}
?>

</body>
</html>

链接:

http://www.facebook.com/talkieslifestylemagazine?sk=app_112458478872227

Faceook 应用:

页面标签

【问题讨论】:

    标签: facebook facebook-like facebook-apps


    【解决方案1】:

    看起来原来的海报切换到使用 Wildfire 的类似门应用程序。不过不管怎样……

    在您的脚本运行之前,您的服务器正在执行重定向。如果您将代码放在诸如 http://apps.talkiesmagazine.eu/facebook/home/index.php 之类的文件夹中 - 但您将 http://apps.talkiesmagazine.eu/facebook/home 指定为您的 url - 网络服务器将看到 http://apps.talkiesmagazine.eu/facebook/home 是一个文件夹并重定向到 http://apps.talkiesmagazine.eu/facebook/home/。该重定向不会保留带有签名请求的 POST 数据。你可以看到如果你在浏览器中输入http://apps.talkiesmagazine.eu/facebook/home,它会被重定向到http://apps.talkiesmagazine.eu/facebook/home/

    将您的标签页网址更改为 http://apps.talkiesmagazine.eu/facebook/home/ 即可解决此问题。

    但是,Facebook 要求您设置服务器以通过 https 安全地为您的应用提供服务,并将安全标签 URL 设置为该 URL。您的 Secure Page Tab URL 为空,因此也需要更改它以拥有一个功能齐全的选项卡。

    【讨论】:

    • 感谢您的回复我已将您的评论标记为答案。
    【解决方案2】:

    让我们试试这个:

    1、在app根目录下创建一个简单的php文件,名为index.php,代码如下:

    <?
    
    echo "POST check<br /><pre>";
    print_r ($_POST);
    echo "</pre>";
    
    ?>
    

    2,转到您的应用选项卡,然后检查出现的内容。

    2a、如果只有“POST check”消息,请检查应用设置页面上的应用 URL。可能忘记用 / 关闭 url 或某处有空格。

    2b,如果“POST check”消息后跟数组结构,则说明您的 SDK 实现有问题。

    【讨论】:

      【解决方案3】:

      不确定为什么没有向您显示已签名的请求。它仍在工作。

      代码:http://fbmhell.com/2011/06/facebook-like-gating-in-iframe-tabs/

      页面标签:http://www.facebook.com/snipe.net?sk=app_207328155971716

      也许您必须选中/取消选中迁移设置中的某些内容?在过去的几个月里,他们做出了一些改变。

      【讨论】:

        【解决方案4】:

        从外观上看,您的示例使用的是 Facebook PHP SDK。如果您想要更简单且相对直接的实现,请查看 GitHub 上的 Facebook Fan / Like Gate

        我过去曾在一堆 Facebook 标签上使用过它,它对我很有帮助。还有一个 'JavaScript setup' 分支,其中包含 js sdk 和应用程序配置设置并准备就绪。

        【讨论】:

        • 不幸的是,这也不起作用。问题仍然存在,signed_request 只是空的。哪位大神知道了,怎么来的?真的很郁闷,我做错了什么?
        • @Mark 我认为您正在 Facebook 上以“不安全模式”查看您的页面?
        • 我可能,我不知道。我在哪里可以查看?
        • @Mark 我认为您一定是,因为您将无法看到该页面。我的意思是在帐户设置下的不安全浏览模式。
        • 没错。我没有通过 https 浏览,但这应该没关系吧?就像其他页面上的所有门都可以工作 =/ 或者 PHP 不能工作,只有 Javascript?
        猜你喜欢
        • 2012-06-08
        • 1970-01-01
        • 2015-04-02
        • 2011-11-25
        • 1970-01-01
        • 2011-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多