2013-05-13 37 views
6

Tôi đang cố gắng sử dụng thư viện yêu cầu-oauth cho Python để thực hiện yêu cầu cho Pocket. Thật không may mô tả để sử dụng thư viện này không phải là rất toàn diện và tôi cũng mới sử dụng oauth2. Nói chung tôi hiểu quá trình đằng sau nó nhưng vẫn không thể chuyển đổi điều này để yêu cầu làm việc.Hướng dẫn sử dụng requests_oauth2

Điều tôi đang tìm kiếm là tài liệu tốt hơn hoặc một số ví dụ toàn diện để sử dụng yêu cầu-oauth2. Có ai biết không.

Đặc biệt là tôi không hiểu những gì redirect_url để sử dụng khi yêu cầu được thực hiện chỉ bởi một kịch bản trên máy địa phương của tôi nhưng không phải là một ứng dụng web.

Trả lời

4

Nguồn thông tin tốt nhất mà tôi có thể tìm thấy là tài liệu (và tất nhiên các mã nguồn) của dự án yêu cầu-OAuth2 trên Github:

Tài liệu này cũng chứa phần "Bài đọc thú vị" với một số liên kết đến các hướng dẫn bổ sung. Để có cái nhìn tổng quát của quá trình dòng chảy OAuth2, có một cái nhìn tại hướng dẫn này:

Tất nhiên đó cũng là thư viện python-OAuth2 "old-fashioned", mà là khá tốt -documented:

các tài liệu của các mô-đun chứa một n ví dụ về xác thực ba chân cho API Twitter.

Liên quan đến REDIRECT_URL lĩnh vực: Nói chung, bạn có thể sử dụng bất kỳ URL mà bạn muốn ở đây (thậm chí địa chỉ địa phương như http://localhost/my/endpoint), máy chủ OAuth sẽ chỉ đơn giản là đưa ra một HTTP 303 yêu cầu chuyển hướng cho khách hàng sau khi chứng thực ông , sau đó được xử lý ở phía máy khách. Tuy nhiên, một số dịch vụ API (chẳng hạn như Twitter) sẽ yêu cầu bạn chỉ định redict_url trước và sẽ từ chối một số URL (ví dụ: các URL dựa trên IP).

+4

Dòng đầu tiên trong README của [python-oauth2] (https://github.com/joestump/python-oauth2) là "Thư viện này triển khai OAuth 1.0 và ** không phải OAuth 2.0 **". Rất vui nhộn. – RayLuo

1

Nếu bạn là người yêu thích thư viện Python, tôi khuyên bạn nên sử dụng requests-oauthlib. Nó có great documentation và các nhà phát triển đang hoạt động.

Thông thường, bạn thiết lập redirect_url trong cài đặt ứng dụng của mình trên trang web của nhà cung cấp API. Có vẻ như Pocket chỉ hỗ trợ xác thực dựa trên trình duyệt, vì vậy bạn sẽ cần một trình duyệt web để tạo mã thông báo truy cập mà sau đó bạn có thể nhúng vào tập lệnh của mình.

Các vấn đề liên quan