Php FacebookFQL for Likes总是返回True

Php FacebookFQL for Likes总是返回True,php,facebook,facebook-fql,Php,Facebook,Facebook Fql,我正在尝试查看已授予权限的用户是否喜欢指定的FB页面。问题是,它总是返回true,即使页面不受欢迎。代码如下: public function verifyFbLike($userId, $objectId) { $appID = 'XXX'; $clientSecret = 'XXX'; $url = 'https://graph.facebook.com/oauth/access_token?client_id=' . $appID .

我正在尝试查看已授予权限的用户是否喜欢指定的FB页面。问题是,它总是返回true,即使页面不受欢迎。代码如下:

public function verifyFbLike($userId, $objectId)
    {
        $appID = 'XXX';
        $clientSecret = 'XXX';
        $url = 'https://graph.facebook.com/oauth/access_token?client_id=' . $appID . '&client_secret=' . $clientSecret . '&grant_type=client_credentials';
        $accessToken = file_get_contents($url);
        $accessToken = str_replace('access_token=', '', $accessToken);

        $query = urlencode('SELECT user_id FROM like WHERE object_id="' . $objectId . '"');
        $xml = file_get_contents('https://api.facebook.com/method/fql.query?query=' . $query . '&access_token=' . $accessToken);
        $xmlObj = new SimpleXMLElement($xml);

        // See if user did like the object or not
        if($xmlObj->attributes()->list == 'true')
            return TRUE;
        else
            return FALSE;
}
将urlencode(…)更改为rawurlencode(…)修复了此问题