2012-03-26 12 views
5

La página Github de python-oauth2 da instrucciones para crear solicitudes firmadas con req = oauth.Request(...), que devuelve un diccionario que se puede firmar. ¿Pero cómo envío estas solicitudes?Solicitudes de firma con python-oauth2

+0

¿Es este un duplicado? http://stackoverflow.com/questions/2138656/signing-requests-in-python-for-oauth – Daenyth

+1

@Daenyth: No es un duplicado de esa pregunta. Esa pregunta tiene un código personalizado de Python para crear la firma. Esta pregunta está usando la biblioteca 'python-oauth2'. – abraham

+0

demasiado localizado? WTF – Jannis

Respuesta

1

Mire el siguiente paso en el archivo README.

Uso del Cliente

import oauth2 as oauth 

# Create your consumer with the proper key/secret. 
consumer = oauth.Consumer(key="your-twitter-consumer-key", 
    secret="your-twitter-consumer-secret") 

# Request token URL for Twitter. 
request_token_url = "http://twitter.com/oauth/request_token" 

# Create our client. 
client = oauth.Client(consumer) 

# The OAuth Client request works just like httplib2 for the most part. 
resp, content = client.request(request_token_url, "GET") 
print resp 
print content 
+1

Creo que soy una víctima de documentación extremadamente pobre. No creo que necesite la sección de "firma", ya que lo que hace el cliente en su ejemplo parece ser suficiente para los servicios de OAuth. – Steve

4

Sólo tiene que añadir esta línea al final:

rs = urllib2.urlopen(req.to_url()) 

Dónde req es su objeto Request.

+0

Esto no funciona para mí, simplemente envía la solicitud (sin firmar) a la url. Recibo un mensaje de "Datos de autenticación incorrectos" porque la solicitud no está firmada. – pcv

+2

En realidad, a los documentos les falta el parámetro de token en el Cliente. Debería ser: client = oauth.Client (consumer, token); resp, content = client.request (URL, "GET") Por cierto. ¿Por qué esta pregunta está cerrada? – pcv

Cuestiones relacionadas