2013-05-13 12 views
6

Próbuję użyć biblioteki requests-oauth dla Pythona, aby wysłać żądanie do Pocket. Niestety opis korzystania z tej biblioteki nie jest zbyt obszerny i jestem również nowy w użyciu oauth2. Ogólnie rozumiem proces, który za tym stoi, ale wciąż nie mogę go przekonwertować, aby żądanie zadziałało.Samouczek użycia request_oauth2

Czego szukam, to lepsza dokumentacja lub kilka obszernych przykładów użycia zapytań-oauth2. Czy ktoś wie.

W szczególności nie rozumiem, do czego służy redirect_url, gdy żądanie jest składane tylko przez skrypt na mojej lokalnej maszynie, ale nie jest to aplikacja internetowa.

Odpowiedz

4

Najlepszym źródłem informacji, które udało mi się znaleźć jest dokumentacja (i oczywiście kodu źródłowego) projektu wnioski-OAuth2 na Github:

Dokument zawiera również sekcja "Interesujące czytania" z linkami do dodatkowych samouczków. Ogólny przegląd przebiegu procesu OAuth2, przyjrzeć się tej lekcji:

Oczywiście istnieje również „staromodny” python-OAuth2 biblioteka, która jest dość dobrze -documented:

dokumentacja modułu zawiera n przykład uwierzytelniania trzyetapowego dla Twitter API.

dotyczące dziedzinie REDIRECT_URL: Ogólnie rzecz biorąc, można użyć dowolnego adresu URL, który chcesz tutaj (nawet lokalne adresy takie jak http://localhost/my/endpoint), serwer OAuth po prostu wydać HTTP 303 przekierowanie żądania do klienta po uwierzytelnieniu Go , który jest następnie przetwarzany po stronie klienta. Jednak niektóre usługi API (takie jak Twitter) będą wymagały wcześniejszego określenia adresu redict_url i odrzucą niektóre adresy URL (na przykład oparte na protokole IP).

+4

Pierwsza linia w README tego [python-oauth2] (https://github.com/joestump/python-oauth2) to "Ta biblioteka implementuje OAuth 1.0 i ** nie OAuth 2.0 **". Tak zabawne. – RayLuo

1

Jeśli jesteś fanem żądań biblioteki Python, polecam używanie requests-oauthlib. Ma great documentation i aktywnych programistów.

Zazwyczaj konfigurację redirect_url ustawia się w ustawieniach aplikacji na stronie internetowej dostawców API. Wygląda na to, że Pocket obsługuje tylko uwierzytelnianie oparte na przeglądarce, więc potrzebujesz przeglądarki internetowej, aby wygenerować token dostępu, który możesz następnie umieścić w swoim skrypcie.