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

Creación con la API de Twitter: Administración de listas

by
Read Time:7 minsLanguages:

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Esta es la segunda parte de nuestro tutorial sobre la API de Lista de Twitter dentro de nuestra más amplia serie sobre la API de Twitter. En este tutorial, revisaremos la creación de características para listas con la API. Los ejemplos de códigod de este tutorial se proporcionan en el repositorio de Github. Aquí se describen con más detalle las instrucciones de instalación (asegúrate de utilizar el repositorio proporcionado en este tutorial y no el repositorio Birdcage inicial que aparece en esa página).

Descripción general de la API de Lista de Twitter

Una vez más, hay aproximadamente 19 APIs para listas de Twitter, divididas en tres áreas principales:

Comencemos con la integración de algunas de las características básicas del desarrollo de la API de Listas.

Creación de una lista

Cuando cargues Birdcage, verás la página Manage Lists (Administrar listas). Haz clic en la opción Create a List (crear una lista) en el menú de la barra lateral derecha.

Twitter List API Manage Lists emptyTwitter List API Manage Lists emptyTwitter List API Manage Lists empty

Se mostrará el formulario Create a List (crear una lista). Voy a crear una lista para rastrear a los periodistas de Seattle en Twitter:

Twitter List API Create a ListTwitter List API Create a ListTwitter List API Create a List

Aquí tienes el código Create en TwitterlistController.php. Controla el código para mostrar el formulario y, después de que se publique el formulario, el código para el procesamiento:

Puede leer la documentación de la API de Listas de Twitter/Crear aquí.

Una vez enviado el formulario, verás algo como esto:

Twitter List API Manage Twittert Lists after CreateTwitter List API Manage Twittert Lists after CreateTwitter List API Manage Twittert Lists after Create

Importación de miembros a una lista

Una de las limitaciones más frustrantes de la interfaz de usuario de las listas de Twitter es lo difícil que resulta añadir nuevos miembros. Tienes que visitar el perfil de cada miembro y añadirlos individualmente a tus listas: el proceso es muy complicado y lento.

Vamos a implementar una función para suscribir un listado separado por comas de una serie de cuentas de Twitter.

En la vista de lista, si haces clic en el icono Administrar lista a la derecha de Journalists Seattle, verás la página Ver lista:

Twitter List API View List Members emptyTwitter List API View List Members emptyTwitter List API View List Members empty

Haz clic sobre Importar miembros en el menú de la barra lateral derecha. A continuación, escribe la lista de cuentas de Twitter que desees añadir a este listado:

Twitter List API Import Twitter Accounts to ListTwitter List API Import Twitter Accounts to ListTwitter List API Import Twitter Accounts to List

Revisemos el código que sube los miembros a Twitter. El código para mostrar el formulario anterior comienza en ListMemberController.php:

En el modelo ListMember.php, el código de importación tiene el siguiente aspecto. Usamos preg_split para convertir la lista de cuentas en una matriz. Luego, para cada cuenta, obtenemos información sobre la cuenta en Users/Show y publicamos el ID de Twitter en Lists Member Create (Listas de creación de miembros).

Después de enviar los miembros, verás algo como esto:

Twitter List API View List MembersTwitter List API View List MembersTwitter List API View List Members

El tbd representa un usuario que aún no está en nuestra base de datos; la información del perfil se obtendrá (hidratará) en segundo plano más adelante.

En Twitter, verás algo como esto:

Twitter List API List Member View at TwitterTwitter List API List Member View at TwitterTwitter List API List Member View at Twitter

Sincronización de listas

Ahora que hemos creado una lista, vamos a buscar las listas que ya existen en nuestra cuenta para poder administrarlas desde nuestra consola. De nuevo, en el menú Administrar listas, haz clic en Sincronizar listas.

Twitter List API Manage Lists Twitter List API Manage Lists Twitter List API Manage Lists

La acción de sincronización está codificada en TwitterlistController.php:

La operación de sincronización del modelo TwitterList.php es relativamente sofisticada, como se muestra a continuación. En primer lugar, el modelo de sincronización recorre todas las cuentas que hayas configurado y llama a la cuenta syncOne para las listas.

SyncOne llama a fetch Lists/Ownerships en la API para buscar todas las listas propiedad de cada cuenta.

Sin embargo, en lugar de intentar capturar los miembros de la lista en tiempo real, lo que probablemente agotaría el tiempo de espera, crea una acción en segundo plano para capturar los miembros de una lista determinada.

La tarea cron en segundo plano invoca el modelo Action.php que llama a getListMembership para una lista cada vez.

Cuando se ejecuta la tarea, invoca el método getMemberships del modelo TwitterList.php. Este método utiliza la cursorización para paginar a través de los registros de miembro sin agotar el tiempo de espera o alcanzar los límites de velocidad. El último cursor se almacena en la tabla Action para que la siguiente invocación en segundo plano pueda continuar añadiendo miembros donde lo dejó anteriormente.

Cuando se complete la operación deberías ver algo como esto:

Twitter List API Manage ListsTwitter List API Manage ListsTwitter List API Manage Lists

Una vez completadas las tareas en segundo plano, verás miembros para cada lista como en la siguiente imagen:

Twitter List API View List MembersTwitter List API View List MembersTwitter List API View List Members

¿Qué viene a continuación?

Espero que hayas disfrutado de esta serie sobre la API List de Twitter hasta ahora. Me gustaría escuchar tus sugerencias sobre tus escenarios de uso de la API favoritos y solicitudes de características; por favor, publícalos a través de la sección de comentarios.

Si tienes alguna pregunta o sugerencia, por favor publícala a través de un comentario. Si deseas mantenerte al día sobre mis próximos tutoriales y otras series en Tuts+, por favor visita mi página de instructor o sígueme en Twitter, @reifman.

Enlaces relacionados

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.