No se puede file_get_contents para trabajar

Estoy utilizando la API API api, para recuperar la información de usuario registrada.

$facebookdata = json_decode(file_get_contents('https://graph.facebook.com/me?access_token=' . $fb_accesstoken . '&fields=name,picture'),true); 

Ahora cuando var_dump obtengo nulo. Intenté ingresar a url https://graph.facebook.com/me?access_token=ACCESS_TOKEN&fields=id,name,picture . Muestra el nombre y photourl.

Agradezco cualquier ayuda.

Compruebe si allow_url_fopen está habilitado en su php.ini . De lo contrario, se adaptará, porque file_get_contents no podrá leer URL de http.

En segundo lugar, eleve su nivel de error_reporting . Debería haberte dicho eso.

Si no user_agent ningún mensaje de error, puede que se bloquee el acceso con el user_agent PHP. Hay otra configuración php.ini para eso. También alternativamente, solo prueba curl .

En lugar de usar file_get_contents , puede utilizar Facebook PHP SDK ( ver en github ) que es más fácil de usar:

 require "facebook.php"; $facebook = new Facebook(array( 'appId' => YOUR_APP_ID, 'secret' => YOUR_APP_SECRET, )); $facebook->setAccessToken("..."); $args['fields'] = "name,picture"; $facebookdata = $facebook->api('/me', $args); 

Verifique el ejemplo del SDK (bien documentado) si desea ver el flujo para obtener el token de acceso del usuario.

Espero que ayude !

Debe determinar qué código de respuesta HTTP le está devolviendo su solicitud.

Descubrí que file_get_contents () solo funciona cuando la respuesta http es 200, OK.

No devuelve una cadena si el código de respuesta es 404 (página no encontrada), 400 (solicitud incorrecta), etc.

Al presionar la API de Facebook con un access_token incorrecto se devuelve 400.

Ejemplo:

file_get_contents () con ‘http://www.google.co.uk’ funciona, la respuesta http de google es 200

file_get_contents () con ‘http://www.google.co.uk/me’ es nulo, la respuesta http de google es 404

  //i had the same problem before.for some reason the server has a problem with file_get_contents and i used this function.try it instead /* gets the data from a URL */ function get_myurl_data($url) { $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch); return $data; } $url = 'https://graph.facebook.com/me?access_token=' . $fb_accesstoken . '&fields=name,picture'; $facebookdata = json_decode(get_myurl_data($url));