2011-02-11 31 views
6

Estoy desarrollando una aplicación móvil que necesita acceso a Twitter. Hay una tonelada de documentación relacionada con el uso de la API de Twitter con aplicaciones web, pero me está costando encontrar el flujo correcto o ejemplos usando el modo de código fuera de banda/PIN para aplicaciones móviles de escritorio &.Twitter API - OOB Flow

¿Alguien me puede señalar un enlace o algunos ejemplos de código (preferiblemente en C#) que pueden mostrarme cómo usar la API de Twitter desde un escritorio o una aplicación móvil?

Gracias.

+0

Veo muchos tutoriales para Winforms/C#/twitter oAuth tutoriales. – Shoban

+0

Sí, pero no he encontrado uno que haga referencia a la autenticación fuera de banda - (el enlace al documento relevante en el sitio web de Twitter parece estar roto - http://dev.twitter.com/pages/auth#oob) - I Necesito usar esto ya que es una aplicación móvil. De los documentos de Twitter: "Para estas aplicaciones puede ser difícil manejar una URL de devolución de llamada si no imposible". –

Respuesta

10

Hay alguna descripción del flujo fuera de banda en la sección Glosario en la parte inferior de http://dev.twitter.com/pages/auth

fuera del modo de banda - En lugar de proporcionar una devolución de llamada basada en URL al adquirir un token de solicitud, "fuera de banda" es proporcionado. Una vez que el usuario ha dado a Twitter las credenciales de su cuenta, se le presenta una pantalla que contiene un código PIN y se le solicita que ingrese este código en la aplicación. La aplicación luego envía este PIN como un oauth_verifier al token de acceso para completar el intercambio.

Lo que esto significa en la práctica, en comparación con el flujo normal de la web:

  1. En el paso (a) su aplicación se inicia el flujo mediante la apertura de una ventana del navegador con el flujo de OAuth, pero envía una petición de parámetro de oauth_callback=oob en lugar de una URL de devolución de llamada
  2. la etapa (c) termina con Twitter mostrando una página de resultados de la autorización que contiene un PIN para el usuario (en lugar de hacer una devolución de llamada a su aplicación con el flujo normal de la web)
  3. la etapa (d) requiere que el usuario copie/escriba el PIN del Twitter página de autenticación en su aplicación (su aplicación obviamente necesita algún tipo de pantalla de "Esperando código de autorización ..." para esto :)
  4. Paso (E) su aplicación envía el PIN ingresado por el usuario a Twitter en el parámetro oauth_verifier para obtener un token de acceso

Tratar la muestra OAuthConsumerWpf en DotNetOpenAuth http://www.dotnetopenauth.net/ para un ejemplo de código del consumidor OAuth que usted debe ser capaz de modificar.

+0

Buena explicación. En general, no necesita abrir una ventana del navegador, solo enviar/recibir a través de HTTP (S). 2. En el paso (C), la aplicación le dice al usuario que vaya a https://api.twitter.com/oauth/authorize?oauth_token=. Twitter le pedirá al usuario que inicie sesión, autorice la aplicación, etc., y muestre el PIN. – reiniero