Parece que tiene alguna restricción en la configuración de su página. Supongo que cualquier restricción por país o por edad.
Elimine la condición en la página FB e inténtelo de nuevo.
ACTUALIZACIÓN:
es sólo mi adivinar pero supongo que la razón porque return false en caso de restricciones se debe a que no pudo verificar FB es la solicitud cumple con las restricciones de página. Resuelvo el problema mediante OAuth 2.0
Facebook docs for OAuth 2.0
Y aquí algo de código para hacer la vida más fácil:
ARCHIVO 1:
require_once('oauth2callback/index.php');
// Get likes from FB using auth
$likes = do_auth_FB('[Object name]');
echo 'Likes en Facebook: ' . $likes . '<br/>';
ARCHIVO 2: (oauth2callback/index.php)
function do_auth_FB($objectName) {
// Setting required variables
$fbAppID = '[App ID]';
$fbSecret = '[App secret]';
$redirectURI = '[URL to redirect]';
$objectName = '[Object name]';
// Getting code var
$code = $_GET["code"];
// Calling for code
if(empty($code)) {
$urlcode = 'http://www.facebook.com/dialog/oauth?'
. 'client_id=' . $fbAppID . '&redirect_uri=' . urlencode($redirectURI)
. '&client_secret=' . $fbSecret;
echo "<script> top.location.href='" . $urlcode . "'</script>";
}
// Calling for token
$urlToken = 'https://graph.facebook.com/oauth/access_token?'
. 'client_id=' . $fbAppID . '&redirect_uri=' . urlencode($redirectURI)
. '&client_secret=' . $fbSecret . '&code=' . $code;
$response = file_get_contents($urlToken);
$outputResponse = null;
parse_str($response, $outputResponse);
// Calling for the required object
$graph_url = 'https://graph.facebook.com/' . $objectName . '?access_token='
. $outputResponse["access_token"];
$objectStream = json_decode(file_get_contents($graph_url));
return $objectStream->likes;
}
En el ejemplo solo devuelve la página "Me gusta"
Intenté sin el '/' al final, pero todavía da 'falso'. ¿puedes decirme qué es un 'token de acceso a la aplicación'? El access_token que estoy usando es el que obtiene la aplicación cuando el usuario se autentica. – lugbug
sí, funciona. Request_id requiere el token de acceso a la aplicación en comparación con el token de acceso del usuario. El token de acceso a la aplicación también está documentado como 'secreto de la aplicación firmada' en el cuadro de diálogo Solicitud. – lugbug
@lugbug: ¡Me alegro de que haya sido útil! y disculpe la demora, pero mi entorno de prueba no se configuró ayer para crear un ejemplo para usted. – ifaour