/ / OAuth przez HTTP z Twitterem - http, twitter, oauth

OAuth przez HTTP z Twittera - http, twitter, oauth

Używałem funkcji Tweepy do połączeń API OAuth i Twitter. Z wielu powodów przełączam się na urllib i bezpośrednio wysyła żądania HTTP.

Wydaje się, że ma dwie opcje:

  • Mogę zrobić oAuth bezpośrednio przez HTTP, ale istniejące zasoby wydają się albo powiedzieć "nie przejmuj się, po prostu użyj biblioteki" albo nie obejmują połowy procesu.
  • Mogę kontynuować korzystanie z aplikacji Tweepy, aby uzyskać klucz / sekretparę, ale stamtąd nadal nie wiem, jak używać tej pary do uwierzytelniania moich zapytań. W szczególności, co muszę zrobić przed "https://api.twitter.com/1/statuses/home_timeline.json" do uwierzytelnienia, zakładam, że już ukończyłem proces OAuth i mam klucz / klucz tajny dla żądanego użytkownika.

Odpowiedzi:

2 dla odpowiedzi № 1

Dlaczego nie używasz bardziej ogólnej biblioteki oauth (np. Oauth2), zamiast całkowicie wyrzucać pomysł oauth z biblioteki uwierzytelniającej?

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

Podpisanie żądania OAuth oznacza albosamodzielne wdrażanie funkcji podpisu dla każdego żądania lub przy użyciu istniejącej biblioteki - a tworzenie podpisów okap jest dość skomplikowane i podatne na złamanie. Jako osoba, która od kilku lat obsługuje interfejsy API oparte na OAuth, zdecydowanie zachęcam do korzystania z biblioteki.

Biblioteka oauth2 ma przykład, aby uzyskać token / secret dla twitter.

Po zdobyciu tokena i tajemnicy, biblioteka oauth jest tak prosta jak:

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")