Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[PyMX] Requests para el consumo del API de Twitter

[PyMX] Requests para el consumo del API de Twitter

Presentación en el grupo de la comunidad de Python __PyMX__ en la Ciudad de México.

El código de ejemplo puede encontrarse en https://github.com/jackboot7/tweetapi_pymx

Avatar for Luis Alberto Santana

Luis Alberto Santana

February 18, 2020
Tweet

Other Decks in Programming

Transcript

  1. `requests` para consumir el API de Twitter Código de ejemplo

    disponible en: https://github.com/jackboot7/tweetapi_pymx
  2. Sobre mi… • Luis Alberto Santana, @jackboot7 everywhere • Python

    programmer since 2.3 • Software Engineering Manager @ Credijusto: We’re hiring!
  3. Requests: HTTP for Humans™ • Requests es una biblioteca simple

    y elegante para HTTP, construida para humanos. • Diseñada por Kenneth Reitz, mantenida por la comunidad. • Primera versión liberada en febrero del 2011, ¡9 años!
  4. Objetos de Sesión: • Permite persistir algunos parámetros a través

    de distintos requests. P.Ej: Autenticación, headers, cookies. • Usa `connection pooling` de urllib3. Reusa la conexión TCP si se hacen varios requests al mismo host. Ejemplo:
  5. Requests-OAuthlib: Oauth for Humans • Usa `requests` y `oauthlib` para

    generar una interfaz fácil de usar para OAuth1 y OAuth2. • Facilita la generación de requests firmados para OAuth. • Sencilla con `pip install requests-oauthlib`
  6. Twitter API APIs Descripción Standard API Incluye endpoints que permiten:

    • Crear, leer, borar tweets y timelines • Manejar y obtener información pública • Seguir, buscar, y obtener usuarios Premium API ($$$) Filtrado avanzado en la búsqueda, información en tiempo real vía el Account Activity API Enterprise API ($$$) Acceso a los datos de Twitter en tiempo real, históricos. Ads API Interactuar programáticamente con la plataforma de anuncios de Twitter Twitter for Websites Introducir contenido de Twitter en tu website
  7. Autenticación con el API de Twitter • OAuth 1.0a: Permite

    a la aplicación obtener información privada para una cuenta, o ejecutar acciones en nombre de una cuenta autenticada. • OAuth 2 (Bearer Token): Permite a la aplicación obtener información disponible públicamente en Twitter. • Basic Authentication: Muchos de los servicios ofrecidos por el Enterprise API requieren autenticación básica por HTTP
  8. ¿Cómo empezamos? Debemos registrar una nueva aplicación ante Twitter (https://developer.twitter.com/)

    para obtener los API keys correspondientes, para esto, cada API tiene una forma distinta de registro de aplicación. Una vez registrados, obtendremos los API Keys de nuestra aplicación.
  9. Paso a Paso (OAuth1) • Crear un token temporal enviando

    POST a oauth/request_token ◦ Recibe como un único parámetro `oauth_callback`: este puede ser un website o el string `obb` para verificación con PIN. ◦ Regresa 200 OK y las siguientes valores temporales: `oauth_token`, `oauth_token_secret`, `oauth_callback_confirmed` • Autenticación del usuario el método GET a oauth/authorize • Obtener un token final con POST a oauth/access_token ◦ Debe enviarse el `oauth_verifier` obtenido en el punto anterior. ◦ Regresa el `oauth_token`y `oauth_token_secret` que deberán usarse para interactuar con el API. • Realizar llamadas al API para publicar y leer información de Twitter
  10. Puede ser más sencillo: Usa una biblioteca • SDK oficial

    (Sólo para las API Premium y Enterprise) • python-twitter • Tweepy • Twython