Facebook signed_request返回NULL

时间:2011-08-19 13:20:13

标签: facebook

我在facebook上创建了新的iframe应用程序并想要检测用户是否是当前页面的粉丝,所以我使用$ _REQUEST ['signed_request']变量,如下所述:http://developers.facebook.com/docs/authentication/signed_request/。但是$ _REQUEST ['signed_request']变量总是返回NULL,而不是它应该实际返回的内容。有没有人遇到过同样的问题?我对在facebook上创建应用程序非常熟悉,但无法弄清楚这个问题可能是什么原因......有什么想法吗?

2 个答案:

答案 0 :(得分:0)

请确保在您的页面标签页面中指定页面名称,例如http://yourdomain.com/myapp/index.php,而不仅仅是http://yourdomain.com/myapp

如果您指定了确切的页面

,似乎只会发布已签名的请求

答案 1 :(得分:-1)

您可以使用Facebook查询语言(FQL)检查当前用户是否是您网页的粉丝。

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;
}

需要注意的事项......

me()是一种自动获取当前用户的用户ID的方法。
$ page_id应该包含您在fbmain.php中指定的Facebook页面ID