Facebook应用程序检测页面赞-工作不正常


Facebook app detect page like - not working ok

我使用classic php-facebook代码进行"类"检测。我把它放在两个fb应用程序上。其中一个正在工作,其中一个不是。在不起作用的页面中,我无法收到0或1值的"赞"键,该键将告诉我访问者是否喜欢该页面

<?php
if(isset($_REQUEST['signed_request'])) 
{
    $app_secret = "...";
    $data = parse_signed_request($_REQUEST["signed_request"], $app_secret);
    print "<pre>";
    print_r($data);
    print "</pre>";
} 
function parse_signed_request($signed_request, $secret) 
{
    list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
    $sig = base64_url_decode($encoded_sig);
    $data = json_decode(base64_url_decode($payload), true);
    if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') 
    {
        error_log('Unknown algorithm. Expected HMAC-SHA256');
        return null;
    }
    $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
    if ($sig !== $expected_sig) 
    {
        error_log('Bad Signed JSON signature!');
        return null;
    }
    return $data;
}
function base64_url_decode($input) 
{
    return base64_decode(strtr($input, '-_', '+/'));
}
?>

在一个不起作用的数组中,$data数组就像这个

Array
(
    [algorithm] => HMAC-SHA256
    [issued_at] => 111111
    [page] => Array
        (
            [id] => 111111
            [admin] => 1
        )
    [user] => Array
        (
            [country] => ro
            [locale] => en_GB
            [age] => Array
                (
                    [min] => 21
                )
        )
)

"page"数组也必须有"like"键,但在本例中不存在。

两款应用程序在facebook开发者部分的设置相同,逐页比较超过10次。

问题出在哪里?

2014年11月之后,新应用程序中不再发送类似状态,也不允许类似门控。

有关更多信息,请参阅此线程:signedRequest不会';t如果用户喜欢页面,则返回

如果您创建的应用程序最近无法获取liked属性,或者很久以前创建但从未使用过它,则它可能不会接收到它,因为该属性在API 2.1或更高版本中已被弃用-这里有更多关于此更改的信息:

https://developers.facebook.com/docs/apps/changelog#v2_1

对于今天之后创建的页面选项卡应用程序,"点赞"属性将不再返回到"signed_request"对象中。从…起2014年11月5日起,"喜欢"的房产将永远回归"true",无论此人是否喜欢该页面。