Twitter nos ofrece su nueva API (Interfaz de programación de aplicaciones) y con ella surgen grandes posibilidades. A continuación unos tips para entrar al mundo de la API para Twitter en PHP.
Podemos tener una vista previa de sus novedades haciendo click aquí. Podemos destacar que desde la versión 1.1 se encuentran mejoras en los límites, agrega soporte para JSON, métodos de autenticación, tipos de permiso y métodos de acceso.
Una de las novedades más interesantes es el Streaming, que es acceder al API para Twitter en PHP en tiempo real. Si bien podemos hacerlo utilizando diferentes lenguajes de programación, les voy a vincular un ejemplo sencillo y podrán imaginar las posibilidades que esto despierta.
Podemos realizarle pedidos, estando conectados contínuamente, o pedido a pedido, también tenemos el timeline por usuario, o la búsqueda global, filtrar por hash, etc etc. Además podemos filtrar por geo-posicionamiento o zona geográfica, por lenguaje y por una cadena específica entre otras posibilidades.
Acá podemos ver un artículo para usar el método de Stream utilizando OAuth de la API para Twitter en PHP.
Allí explica cómo debemos primero tener una cuenta en la sección de developers de Twitter, donde uno se puede loguear utilizando el usuario de Twitter, y allí dar de alta aplicaciones y generar los Token de seguridad para poder acceder. Con respecto a eso, aconsejo configurar la aplicación con todos los parámetros que pide antes de generar el token y el token secreto, porque si editamos las opciones sin modificar el token, en algúnas ocasiones deja de funcionar o nos devuelve un «Error 401 UNAUTHORIZED». Para evitarlo revisemos los parámetros, y en todo caso para cada modificación volvamos a generar los Token.
Otra salvedad que hay que tener en cuenta es revisar si agregamos la ip o el dominio desde el que vamos a lanzar los pedidos en la pestaña @Anywhere domain
También podemos probar la conexión o los filtros, en la pestaña de la página de developer que se llama OAuth Tool, allí nos mostrará: Signature base string, Authorization header y el cURL command. En la última copiando y ejecutando en la consola de comandos, podemos ver la respuesta y testear si vamos por buen camino en la configuración de la aplicación.
Si bien el ejemplo está utilizando POST, mediante GET podría funcionar de la misma manera según la documentación oficial, cambiando solamente esa palabra, pero no funciona en todos los casos. Está plagado de post que intentan solucionar problemas de UNAUTHORIZED o de respuestas intermitentes y la mayoría son por utilizar GET. Entonces es recomendable utilizar POST y evitar un posible dolor de cabeza.
Otra cosa importante, es tener en cuenta, en la línea en donde figura $request = «POST /1.1/statuses/filter.json HTTP/1.1\r\n»; es la forma correcta de definirlo. En algúnos lugares hay ejemplos de la forma $request = «POST /1.1/statuses/filter.json?track=»; pero también sufre de intermitencias y errores de autorización.
Para probar la salida que puede devolver el stream deberíamos utilizar la función stream_get_contents(), para el ejemplo que está linkeado podría agregarse a continuación de: fwrite($fp, $request); utilizando: echo stream_get_contents($fp,5000);
De esta manera espero que puedan interactuar con la API para Twitter en PHP.