He estado batallando con OAuth y Twitter durante 2 semanas para intentar implementarlo. Después de muchas reescrituras de mi código, finalmente obtuve una biblioteca que realiza la solicitud, ya que debe basarse en la especificación 1.0. Lo he verificado utilizando this verifier on Google Code y this verifier from Hueniverse.¿Está Twitter implementando OAuth fuera de especificaciones? (C#)
Mi versión, la de Google y la versión Hueniverse, todas producen exactamente la misma firma, así que he llegado a la conclusión de que ya no soy la causa (pero podría ponerme un pie en la boca diciendo esto ...)
Probar mi implementación creando primero una solicitud de prueba utilizando la API Console de Twitter, en este caso una actualización de estado. Copio los parámetros que cambian, el oauth_nonce y el oauth_timestamp, en los tres firmantes indicados anteriormente. Todos los demás parámetros son siempre los mismos, tokens/secrets/etc.
La consola de Twitter produce una firma, pero las otras tres sobre todo producen una firma diferente (de Twitter, idéntica entre sí).
Por lo tanto, mi pregunta es, ¿por qué estoy haciendo esto:
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<request>/1/statuses/update.xml</request>
<error>Could not authenticate with OAuth.</error>
</hash>
... cuando debería estar implementando la especificación de la "T"?
¿Hay algo específico que Twitter necesita/desea como parte de la solicitud? He contado el tiempo generado por Twitter como 42 caracteres, ¿es correcto? ¿Debería tener 42 caracteres de largo?
le agradecería la ayuda de cualquier persona con una visión más clara de la API de lo que, obviamente, tengo ...
Gracias de antemano!
ACTUALIZACIÓN: Alguien preguntó acerca de cómo envío los parámetros de autenticación, pero desde entonces ha eliminado su publicación, no sé por qué. De todos modos, los parámetros de autorización se envían a través del encabezado Autorización.
ACTUALIZACIÓN/SOLUCIÓN:Se mueve hacia abajo hasta donde corresponde como respuesta.
Bueno, lo descubrí, y fue bastante tonto ... Respuesta anterior. De todos modos, sobre el tema de la nonce, tengo una función que recorre a-z, A-Z, 0-9 y me crea una cadena que siempre será ASCII, así que estoy bien allí, creo. – Gup3rSuR4c
Es bueno escuchar :) Pero es posible que desee mover su propia respuesta a una nueva respuesta a esta pregunta y aceptarla, para marcar la pregunta como resuelta. De lo contrario, permanecerá abierto. – poke