2013-05-13 3 views
6

का उपयोग करने के लिए ट्यूटोरियल मैं पॉकेट के लिए अनुरोध करने के लिए पायथन के लिए अनुरोध-ओथ लाइब्रेरी का उपयोग करने का प्रयास कर रहा हूं। दुर्भाग्य से इस पुस्तकालय का उपयोग करने के लिए विवरण बहुत व्यापक नहीं है और मैं oauth2 का उपयोग करने के लिए भी नया हूं। आम तौर पर मैं इसके पीछे की प्रक्रिया को समझता हूं लेकिन फिर भी काम करने का अनुरोध प्राप्त करने के लिए इसे परिवर्तित नहीं कर सकता।request_oauth2

जो मैं खोज रहा हूं वह अनुरोध करने के लिए abetter दस्तावेज या कुछ व्यापक उदाहरण है oauth2। क्या कोई जानता है।

विशेष रूप से मुझे समझ में नहीं आ रहा है कि जब अनुरोध केवल मेरी स्थानीय मशीन पर एक स्क्रिप्ट द्वारा किया जाता है लेकिन वेब अनुप्रयोग नहीं होता है तो मुझे क्या पता चलता है।

दस्तावेज़ भी शामिल हैं:

उत्तर

4

जानकारी है कि मैं मिल सकता है का सबसे अच्छा स्रोत प्रलेखन (और निश्चित स्रोत कोड के) Github पर अनुरोध-OAuth2 परियोजना की है अतिरिक्त ट्यूटोरियल के कुछ लिंक के साथ एक "दिलचस्प रीडिंग" अनुभाग।

बेशक वहाँ भी "पुराने जमाने" अजगर-OAuth2 पुस्तकालय, बहुत अच्छी तरह से है जो: OAuth2 प्रक्रिया प्रवाह का एक सामान्य अवलोकन के लिए, इस ट्यूटोरियल पर एक नजर है -documented:

मॉड्यूल के दस्तावेज़ शामिल हैं एक ट्विटर एपीआई के लिए तीन पैर वाले प्रमाणीकरण का उदाहरण।

REDIRECT_URL क्षेत्र के संबंध में: सामान्य तौर पर, आप किसी भी URL आप यहां चाहते उपयोग कर सकते हैं (जैसे http://localhost/my/endpoint के रूप में यहां तक ​​कि स्थानीय पते), OAuth सर्वर बस एक HTTP 303 रीडायरेक्ट ग्राहक के लिए अनुरोध उसे के सत्यापन के बाद जारी करेगा , जिसे क्लाइंट-साइड पर संसाधित किया जाता है। हालांकि, कुछ एपीआई सेवाओं (जैसे कि ट्विटर) के लिए आपको पहले से redict_url निर्दिष्ट करने की आवश्यकता होगी और कुछ यूआरएल (जैसे आईपी-आधारित वाले) को मना कर दिया जाएगा।

+4

उस [python-oauth2] (https://github.com/joestump/python-oauth2) के README में पहली पंक्ति है "यह लाइब्रेरी OAuth 1.0 और ** OAuth 2.0 ** लागू नहीं है"। कितना मज़ाकिया। – RayLuo

1

यदि आप पाइथन लाइब्रेरी के अनुरोध के प्रशंसक हैं, तो मैं requests-oauthlib का उपयोग करने की सलाह देता हूं। इसमें great documentation और सक्रिय डेवलपर हैं।

आम तौर पर आप एपीआई प्रदाताओं वेबसाइट पर अपने आवेदन की सेटिंग्स में redirect_url सेटअप करते हैं। ऐसा लगता है कि पॉकेट केवल ब्राउज़र आधारित प्रमाणीकरण का समर्थन करता है, इसलिए आपको एक एक्सेस टोकन जेनरेट करने के लिए एक वेब ब्राउज़र की आवश्यकता होगी जिसे आप अपनी स्क्रिप्ट में एम्बेड कर सकते हैं।