Hace unos días , en los ratos libres entre trabajo, estudio, leer blogs y twittear, me puse a probar a ver si podía hacer algo con la api de twitter, ya hace un tiempo la había mirado pero nunca había hecho nada, si bien  ahora no he hecho la gran cosa, escribo este post porque cuando intenté usarla me salió un error al querer enviar un twitt, para el cual no encontré una solucion en español que la expliquen claro.

Para usar twitter en tu sitio tenés varias clases de php como alternativa, la que yo usé se llama twitter.lib.php y la obtuve de aquí.

Cuando empecé a usarla me surgió un problema, no podía enviar twitts, así que me acordé de que kastor había hecho algo con la api de twitter al momento de hacer utwitt así que le pregunté y me respondió al toque.

Kastor me envió el archivo que usó el, y para mi sorpresa era el mismo que yo estaba usando por lo que el problema sigui apareciendo.

El problema era que al enviar un twitt, twitter me devolvía un header que la clase de twitter no manejaba, lo que hacía que el twitt no se envíe.

Me devolvía lo siguiente:

HTML:
  1. 417 Expectation Failed
  2. <h1>Expectation Failed</h1>
  3. The expectation given in the Expect request-header
  4. field could not be met by this server.
  5.  
  6. The client sent
  7. <pre>    Expect: 100-continue</pre>
  8. but we only allow the 100-continue expectation.

Buscando como solucionar el problema encontré que había que agregar una linea a twitter.lib.php para que funcione, y evidentemente lo hice y todo salío andando.

La línea que hay que agregar es la siguiente y debe ser en la función apiCall en la línea 512

PHP:
  1. curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array('Expect:'));

Luego de solucionado el problema pude  mandar un twitt desde php, el código para hacerlo es el siguiente.

PHP:
  1. include 'twitter.lib.php';
  2. $twitter = new Twitter("user", "pass"); //clase twitter, contiene todos los métodos
  3. $respuesta = $twitter-&gt;updateStatus("desde php"); //se envía el update
  4. <pre>";
  5. echo htmlentities($resp); //código para mostrar el resultado en dormato legible
  6. echo "</pre>
  7. ";

Articulos relacionados

  1. Como se originó twitter
  2. 100 herramientas útiles para twitter
  3. 6 consejos para ser popular en twitter
  4. Consejos sobre como compartir enlaces en twitter
  5. Probando wordpress para android