/ / OAuth tramite HTTP con Twitter - http, twitter, oauth

OAuth tramite HTTP con Twitter - http, twitter, oauth

Sto usando Tweepy per OAuth e le chiamate API di Twitter Per un sacco di motivi, sto passando a urllib e fare richieste HTTP direttamente.

Sembra avere due opzioni:

  • Posso fare oAuth direttamente su HTTP, ma le risorse esistenti sembrano dire "non disturbare, basta usare una libreria" o non coprono metà del processo.
  • Posso continuare a utilizzare Tweepy per ottenere una chiave / segretocoppia, ma da lì non sono ancora chiaro su come utilizzare quella coppia per autenticare le mie domande. In particolare, cosa devo fare prima "https://api.twitter.com/1/statuses/home_timeline.json" per autenticarsi, supponendo che abbia già completato il processo OAuth e abbia una chiave / segreto per l'utente che voglio.

risposte:

2 per risposta № 1

Perché non usi una libreria oauth più generica (come oauth2), invece di buttare fuori completamente l'idea della libreria di autenticazione oauth?

https://github.com/simplegeo/python-oauth2

Firmare una richiesta per OAuth significa siaimplementando la funzione di firma per ogni richiesta o utilizzando una libreria esistente e creando firme oauth è piuttosto complicato e soggetto a rotture. Come qualcuno che ha supportato le API basate su OAuth per un paio di anni, ti incoraggio fortemente a utilizzare una libreria.

La libreria oauth2 ha un esempio per ottenere un token / segreto per Twitter.

Una volta ottenuto il token e il segreto, la libreria oauth è semplice come:

consumer = oauth.Consumer(consumer_key, consumer_secret)
token = oauth.Token(token,secret)
client = oauth.Client(consumer,token)
response = make_request(client,"https://api.twitter.com/1/statuses/home_timeline.json")