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 № 1Dlaczego 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")