2012-04-04 25 views
5

Estoy creando una nueva aplicación de Facebook y hay acciones asociadas a ella, como 'Listening to xxx' en Spotify.Publicar en Facebook Graph Api es lento

El problema es que la llamada tarda alrededor de 6-7 segundos, que es un tiempo bastante largo. Debajo de mi código están los resultados de curl_getinfo. ¿Se supone que es tan lento?

$attachment = array(
     'access_token' => $access_token, 
     'album' => 'sergeant peppers', 
    ); 

    $opts = array(
     CURLOPT_CONNECTTIMEOUT => 10, 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_TIMEOUT => 60, 
     CURLOPT_USERAGENT => 'facebook-php-3.1', 
     CURLOPT_POST => true, 
     CURLOPT_POSTFIELDS => $attachment, 
     CURLOPT_URL => 'https://graph.facebook.com/me/APPNAME:listening' 
    ); 
    $ch = curl_init(); 
    curl_setopt_array($ch, $opts); 
    $result = curl_exec($ch); 
    $info = curl_getinfo($ch); 
    curl_close($ch); 

Los resultados de curl_getinfo:

[url] => https://graph.facebook.com/me/APPNAME:listening 
[content_type] => text/javascript; charset=UTF-8 
[http_code] => 400 
[header_size] => 557 
[request_size] => 238 
[filetime] => -1 
[ssl_verify_result] => 0 
[redirect_count] => 0 
[total_time] => 6.002449 
[namelookup_time] => 0.024892 
[connect_time] => 0.179322 
[pretransfer_time] => 0.77444 
[size_upload] => 362 
[size_download] => 212 
[speed_download] => 35 
[speed_upload] => 60 
[download_content_length] => 212 
[upload_content_length] => 362 
[starttransfer_time] => 1.775707 
[redirect_time] => 0 
[certinfo] => Array 
    (
    ) 

[redirect_url] => 

Respuesta

5

Bueno, ha obtenido un retorno http 400 (solicitud incorrecta), lo que indica que algo salió mal. Tal vez si recibe su solicitud correctamente, la solicitud será más rápida.

Este post: php cURL error in facebook api indica que se debe eliminar 'CURLOPT_POST => true' También sugieren la adición de 'CURLOPT_VERIFYPEER => false' si todavía tiene problemas.

+0

+1. ¡Buena atrapada! Me perdí completamente eso en la declaración del problema. – MrGomez

+0

Gracias, resultó que necesitaba usar el cuadro de diálogo Extendida de OAuth y que el acceso fuera de línea se había depreciado. Completamente desnatada sobre los 400 yo mismo. – bluedaniel

+2

¿Cómo es su tiempo de respuesta después de la corrección? – jornare

0

No, no lo es.This answer analiza los tiempos esperados de la API Graph de Facebook con más detalle, aunque su diagnóstico de problema no se aplica a su problema aquí.

Su mejor apuesta para descubrir su cuello de botella es el diagnóstico de red, como traceroute, dig, y las características de perfilado de cURL (como muestra aquí). Si tiene un compañero en una localidad diferente, también puede probar los perfiles desde esa ubicación para ver qué cambios.

La mejor de las suertes para usted. Esta es información extremadamente actual, pero debería ser suficiente para comenzar.

Cuestiones relacionadas