Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Twitter

Construyendo Con la Twitter API: Creando Amigos para Seguir

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Building With the Twitter API.
Building With the Twitter API: Repeating Tweets From a Group
Building With the Twitter API: Analyzing Your Followers

Spanish (Español) translation by Rafael Chavarría (you can also view the original English article)

Final product image
What You'll Be Creating

¡Bienvenido! Sé que ha pasado tiempo desde que agregué a nuestra serie Twitter API. He estado algo ocupado. Primero, estuvo el tumor cerebral, después, la radiocirugía robótica, después la Serie Programación Yii en curso y su serie startup relacionada y finalmente, el lanzamiento de Planificador de Reuniones.

Decidí escribir el tutorial de hoy usando la Twitter API para crear amigos (lo que Twitter llama la gente que sigues).

¿Por qué? Bueno, la bizarra elección presidencial de E.U. de 2016 ha resaltado un poco del abuso y acoso que sucede cada día en Twitter, algo sobre lo que la compañía ha hecho poco para filtrar--y como programadores, sabemos que no es tan difícil. Es simplemente temor de perder su audiencia de deplorables llenos de odio quienes manejan una parte significativa del ingreso de publicidad.

Muchas mujeres han dejado el servicio por el acoso continuo--por el cuál Twitter a veces se disculpa, diciendo que está tratando de permitir libre expresión. Francamente, no hay libertad de expresión cuando el acoso abusivo está presente de manera indefinida.

También ha habido algunos artículos resaltando cuántos seguidores de la gente son predominantemente varones. Mientras que Twitter no pregunta a los usuarios su género, analiza estadísticamente el género de cuentas para sus anunciantes.

Y puedes echar un vistazo a los propios estimados demográficos de publicidad de Twitter en sus páginas de analíticas. Como puedes ver abajo, Twitter estima que 69 por ciento de mis seguidores son varones.

Building with Twitter API - Twitter Analytics Gender Estimate

Perdido en el ruido está que las voces de las mujeres pueden ser más difíciles de encontrar en Twitter. Pero están ahí afuera. Pew reporta que 21% de los usuarios femeninos de internet usan Twitter, mientras que el 25% de los usuarios varones de Internet lo hacen.

Building with Twitter API Twitter Demographics via Pew Research

Así que el día de hoy te guiaré a través de usar el Framework Yii2 para PHP para acceder a la API Twitter y automatizar el agregar amigos a las cuentas de Twitter de la gente. (Y si quisieras aprender más sobre Yii2, revisa nuestra serie paralela Programando Con Yii2.)

Y, he creado un sitio web, Twixxr.com, el cuál te permite demostrar la característica agregando mujeres prominentes a en Twitter para seguir en tu cuenta.

Si tienes alguna pregunta o retroalimentación, por favor publícala en los comentarios o contáctame en Twitter @reifman.

Viendo hacia Atrás: Tutoriales API Twitter

Mientras que he escrito un puñado de tutoriales Twitter API en el pasado, todos han estado basados en código Yii 1.x. Yii2 ha estado fuera por un largo tiempo, y mientras he escrito sobre inicio de sesión OAuth, no he escrito sobre aspectos de la API para tu propia cuenta y/o en relación a cuentas autenticadas para el framework actualizado. Y no fue sencillo--no hay complementos Yii2 grandiosos para Twitter todavía.

Aquí están algunos de mis tutoriales pasados para que los revises:

No solo el tutorial de hoy te guiará a través de usar OAuth para autenticar cuentas de visitantes del sitio, sino que también te mostrará cómo agregar amigos a su cuenta usando el acceso que te proporcionan.

Usando la Librería TwitterOAuth PHP

Desafortunadamente, no pude encontrar un complemento robusto funcional Twitter API para Yii2, así que saqué ventaja de la Librería Twitter OAuth PHP para crear mi propio modelo Twitter.

Muchas APIs complejas no proporcionan buena documentación, y aprecié la guía en vivo paso a paso que TwitterOAuth proporciona. Es increíblemente útil:

Building with the Twitter API Step from TwitterOAuth Walkthrough

Metas de Producto de Servicio

El servicio Twixxr autenticará a los visitantes del sitio y después automáticamente agregará nuevos amigos a sus cuentas. Los amigos serán elegidos de más de 600 mujeres influyentes que identifiqué en Twitter:

Building Twitter API Twixxr Service Home Page

Comencemos recorriendo el código.

Autenticando un Usuario

Mi TwitterController.php tiene dos métodos básicos, Request y Return. Aquí está el método Request:

El modelo Twitter.php invocado en new Twitter(); obtiene un getAuthorizeURL() para que redirijas a un visitante del sitio a la página de autenticación de Twitter, ej. https://api.twitter.com/oauth/authorize?oauth_token=q-7ChxxxxxxxxnpXAAABzzzzzzz6E:

Building with Twitter API OAuth Authorize Redirect

Una vez que el usuario autoriza tu aplicación en Twitter, ellos son redirigidos de vuelta a nuestro método Return:

El modelo Twitter usa la llave de consumidor y secreto de consumidor de tu aplicación, que recibes cuando la registras con el servicio:

El método Return mostrado arriba entonces registra un usuario y almacena tus llaves de acceso de largo plazo para la cuenta---esto permite que hagas llamadas API a su nombre indefinidamente:

Para acceso lectura escritura a sus cuentas, estoy extendiendo la tabla Auth desde el simple acceso de autenticación descrito en nuestra serie Startup Simplificando Onramp Con OAuth para incluir estas llaves extra de verificación.

También te aliento a recorrer la guía paso a paso en TwitterOAuth. Es una excelente ejemplo mostrando todo en acción con tu propia cuenta Twitter.

Importando Nombres, Bios de Perfil, y Fotos

Después, creé un modelo Twixxr.php que podría proporcionar una variedad de funciones importantes específicas al servicio. Primero, creé Twixxr::loadProfiles() para sincronizar nombres, bios y conteos relacionados con Twitter, ej. fotos de perfil, publicaciones de estado, seguidores, siguiendo, de cada mujer identificada en mi base de datos estática de elementos.

Esto es llamado por un cron job de consola el cuál describiré después en la serie Yii2. Así que estos perfiles están sincronizados gradualmente y repetidamente en intervalos específicos a lo largo de varios días.

Seguir: Crea una Amistad

No lo detallaré aquí, pero básicamente creé una tabla Log de peticiones individuales para cada usuario y cuenta femenina. En otras palabras, Samuel tendría 500 entradas pidiendo una adición de amistad para cada mujer en la base de datos.

Primero, sin embargo,me aseguraría de que Samuel (y todo usuario de Twixxr) siguiera la cuenta Twixxr_com.

Antes de que el cron job procese estos comados, este refresca la autorización Twitter y conexión para Samuel y cada usuario individual en la etapa apropiada:

Entonces, aquí está el método Twitter::createFriend($screen_name):

Después, hace esto para todas las mujeres solicitadas por Samuel como se detalla en la tabla Log---y por su puesto, hay mucho sucediendo abajo, lo que describiré:

La API de Twitter tiene un límite estricto de tarifa, y hace usar su API un poco difícil a veces. El cron job de arriba crea amistades para siete columnas meta a la vez cambiando a la petición de otro usuario hasta que sea llamada de nuevo.

Aquí está Twitter::getFriendshipsShow(), que revisa para ver si esta cuenta ya está siguiendo a la cuenta deseada. En el código de arriba, salta peticiones que son redundantes, para ahorrar el límite de tarifa.

En el futuro cercano, implementaré la abultada API de Twitter para esto, haciendo solo una llamada en vez de cientos por usuario usando get/friendships/lookup. Nota que necesitarás una cuenta de desarrollador para acceder a esta página.

Dejar de seguir: Destruye una Amistad

También puedes deshacer estas amistades vía la API:

Estoy registrando cada conexión que hace Twixxr, y si los límites de tarifa de Twitter fueran menos onerosos y consumidores de tiempo, permitiría a los visitantes tener una característica de deshacer para Twixxr, para dejar de seguir a todas las mujeres si no les gustan las nuevas cuentas.

Rendimiento

Hice mucho en Twixxr para administrar rendimiento. Básicamente, construí la tabla Log para registrar rápidamente las peticiones de amistad del usuario. Pero todas estas son procesadas en el fondo.

Desafortunadamente, la API de twitter no permite publicar una lista de cuentas para seguir en masa. Simplemente no hay forma de hacer esto en tiempo real mientras el usuario está en tu sitio.

Así que la respuesta del usuario a peticiones Twixxr es inmediata, pero podría tomar varias horas o más para que todas las cuentas sean seguidas.

Aquí está el método sigue a Todos TwixxterController.php:

Aquí están los métodos Twixxr::followAll y followCount que también son usados por los botones numerados de arriba, para seguir a 100, 200, 300 mujeres, etc.

Solo están creando entradas de Registro para cada petición de amistad para que el cron job procese el fondo.

¿Qué Sigue?

Espero que hayas disfrutado aprender sobre usar TwitterOAuth.php en Yii2 y cómo autorizar y aplicar la Twitter API en relación a los usuarios de tu sitio.

Después, me gustaría usar la Twitter API para analizar a mis propios seguidores. Tengo la sospecha de que la gran mayoría de seguidores son robots de spam, y me gustaría usar la API para probar esto. Mantente en sintonía.

Si tienes alguna pregunta o sugerencia, por favor publicalas en los comentarios. Si quisieras mantenerte al día en mis siguientes tutoriales Envato Tuts+ y otras series, por favor visita mi página de instructor o sigue @reifman. Definitivamente revisa mi serie statup y Planificador de Reuniones.

Enlaces Relacionados

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.