Integrando twitter a tu aplicación con yii

Hola, el día de hoy haré un post rápido sobre como integrar twitter a una aplicación hecha con yii framework 1.1 para tales efectos asumiré que mis estimados lectores ya sepan desarrollar con yii o al menos algunos conceptos básicos, si no sabes desarrollar con yii puedes hacer todas las preguntas que quieras en los comentarios, o solicitar que haga un tutorial básico de yii 😀

Advertencia: Después de realizar todos los pasos, el API de twitter NO revelara el email del usuario, así que si ustedes están buscando obtener el email, twitter no es una buena opción (Quien sabe por que).

Bien vamos a necesitar algunas cosas para poder hacerlo, aquí las listo cuales receta de cocina:

  • 1 Controlador con dos acciones (twitterAuth y twitterCallback) puedes llamarlo como se te venga en gana
  • 1 app de twitter con sus credenciales y la url de twitterCallback configurada
  • 1 Vista que es de donde el usuario se estará autenticando
  • Esta extension de yii para twitter

Bien manos a la masa.

Paso 1:

Descargamos la extensión y la desempacamos en el directorio protected/extensions de nuestra aplicacion yii tal como esta en su respectivo folder, si tal directorio (el de extensions) no existiere usted como programador deberá crearlo y desempacar ahí la extensión.

Paso 2:

Una vez desempacada la extensión procedemos a configurar, para ello vamos nuestra carpeta protected/config y abrimos el archivo main.php que vive ahí, dentro de ese archivo hay un arreglo llamado components, al que agregaremos la extensión de twitter que acabamos de desempacar de la siguiente manera.

Ahora bien si no sabe cual debería ser el valor de consumer_key y comsumer_secret vea el apéndice al final del post para mas información.  si esta configuración no funcionare en su momento tal vez sea necesario agregar lo siguiente justo arriba de components

 

esto importara todas las extensiones automáticamente y la configuración funcionara bien 🙂

Paso 3:

Programemos la funcion twitterAuth de nuestro controlador

 

pero que carajos es esto!? bueno ya les explico lo que hace:

  • Primero obtenemos el componente de twitter ( getTwitter() )
  • Luego obtenemos un request token, ( getRequestToken() ) que es generado internamente por la extensión con las llaves de nuestra aplicación
  •  obtenemos el “oauth_token”  del objeto que nos devolvió el endpoint request_token del API
  • Guardamos el “oauth_token” y el “oauth_token_secret” en la sesión de nuestra app ya que las necesitaremos despues
  • si la respuesta de nuestro objeto twitter esta en estado 200 OK obtenemos una url de autorizacion con el oauth_token

La url de autorización no es mas que la ventana de dialogo en donde twitter le pide al usuario los permisos que requiere nuestra app, si nuestro token no esta bien hecho seguramente esta ventana no funcionara correctamente

Paso 4:

El usuario autoriza nuestra aplicación… eso es… nosotros no tenemos nada que ver aquí 🙁

Paso 5:

Programamos la url callback que definimos en la configuración de la app de twitter, de nuevo si no sabes de que hablo hay un apéndice al final del post donde dice como configurar esta dichosa url.

Bien la función del callback no es mas que recibir de twitter la respuesta de autorización del usuario, que seria un access_token el cual ya podemos usar en definitiva para obtener la información del usuario.

en lo personal me gusta dejar este endpoint asi, para que el frontend pueda manejar la respuesta usando javascript ya que de ahi obtenemos la data del usuario. he aquí un ejemplo de respuesta que hice con mi propio twitter:

Quite algunos campos a proposito 😀 (este ejemplo hubiera resultado muy  útil para mi  en su momento, y nunca encontré uno) asi que lo pegue y puse x en algunos campos 🙂

pueden ustedes hacer uso de otros endpoints del API de twitter con nuestro access token, tales como los siguientes:

Y así de fácil, integramos twitter con yii framework!

APÉNDICE

Donde obtengo una app de twitter?

Facil! solo vayan a https://apps.twitter.com/ y se registran, luego hacen click en “Create new app” y lo demas es de monos

Donde veo las llaves de mi app de twitter?

Entran en su dashboard de apps de twitter, seleccionan la app que quieren y van a este tab:

Screenshot

Donde configuro mi url callback

Fácil, en el mismo dashboard vamos al tab “Settings”

Screenshot-1

 

Espero que esta información sea de su utilidad 🙂

hasta la próxima!

Loading Comments…
more
Allowed HTML tags and attributes: <a href="" title=""> <blockquote> <code> <em> <strong>