7

मुख्य उपयोग केस आईपीथन को अपने Google खातों में सीएलआई के रूप में उपयोग कर रहा है। मैं वास्तव में क्या कर रहा हूं आईपीथॉन खोल शुरू करने और वास्तव में एपीआई के खिलाफ उपयोगी कॉल जारी करने के बीच झगड़ा को कम करना है।अपने खातों तक पहुंचने के लिए पाइथन Google एपीआई के साथ सरलतम तरीका प्रमाणीकृत

Google एपीआई के साथ प्रमाणीकरण के लिए दस्तावेज़ एप्लिकेशन स्थापित करने पर ध्यान केंद्रित करते हैं जो अन्य उपयोगकर्ता अपने डेटा तक पहुंचने के लिए उपयोग करेंगे। इससे ब्राउज़र को शामिल करने वाले लंबे ओथ नृत्य की ओर जाता है ताकि अन्य उपयोगकर्ताओं को उनके क्रेडेंशियल समझौता किए बिना प्रमाणित करने की अनुमति मिल सके। हालांकि, मुझे अपने निजी प्रमाण-पत्रों को अपने साथ साझा करने में कोई फर्क नहीं पड़ता। मैं कोड साझा करने की योजना नहीं बना रहा हूं। अगर मैंने कोड साझा किया है तो मैं कोड से क्रेडेंशियल्स को अलग करने के लिए dotenv जैसे कुछ का उपयोग करूंगा।

ट्विटर डेवलपर्स को क्रेडेंशियल्स का दूसरा सेट प्रदान करता है जो डेवलपर्स को परीक्षण के लिए अपने खाते तक पहुंचने की अनुमति देता है। इस प्रकार केवल अपने खाते को प्रोग्रामेटिक रूप से तक पहुंचाना संभव है, केवल प्रमाण-पत्रों को सेट करके: डेवलपर प्रमाण-पत्र जो API को कॉल करने की अनुमति देते हैं और अन्य प्रमाण-पत्र जो डेवलपर्स के डेटा तक पहुंच प्रदान करते हैं। example के लिए:

from twitter import * 

t = Twitter(
    auth=OAuth(token, token_key, con_secret, con_secret_key)) 

# Get your "home" timeline 
t.statuses.home_timeline() 

# Update your status 
t.statuses.update(
    status="Tweeting from Python") 

कहाँ con_secret* डेवलपर प्रमाणिकता और और token* हैं अकाउंट एक्सेस प्रमाणिकता हैं।

  • मैं Google एपीआई के साथ कुछ समान कैसे कर सकता हूं?
  • मुझे अपने खाते तक पहुंचने के लिए प्रमाण पत्र कहां मिल सकता है?
  • मैं Google API में उनका उपयोग कैसे करूं?

उदाहरण के तौर पर मेरी अपनी यूट्यूब प्लेलिस्ट में से किसी एक से सामग्री को पुनर्प्राप्त करने के लिए सबसे सरल प्रक्रिया क्या होगी?


मुझे लगता है कि एक पाइथन हेडलेस ब्राउज़र लाइब्रेरी मुझे जो चाहिए वह मुझे दे सकती है। मैं एसई सॉफ्टवेयर सिफारिशें https://softwarerecs.stackexchange.com/questions/35744/python-headless-browser-library-for-oauth2-authentication-from-ipython-console

+0

बिट उलझन में है - तो आप बिना ओथ के एपीआई का उपयोग करने में सक्षम होना चाहते हैं? या हर बार उपयोगकर्ता नाम/पासवर्ड डालने के बिना? – JayIsTooCommon

+1

@JayIsTooCommon मैं स्थानीय रूप से उन्हें स्टोर करने के बाद क्रेडेंशियल का एक सेट डाउनलोड करना चाहता हूं और हर बार जब मैं लॉग इन करना चाहता हूं, तो मैं उनको उपयोग करने के लिए उपयोग कर रहा हूं, जो मैंने Google एपीआई डॉक्स कहने के लिए किया है। जहां तक ​​मैं समझता हूं कि ट्विटर भी ओथ का उपयोग कर रहा है, लेकिन आपको डॉटनव जैसे कुछ के माध्यम से अपने स्वयं के उपयोगकर्ता प्रमाण-पत्रों का पुन: उपयोग करने की अनुमति देता है। मैं यहां उपयोगकर्ता प्रमाण-पत्रों के बारे में बात कर रहा हूं, न कि देव प्रमाण-पत्र, जिन्हें आप इस तरह से पुन: उपयोग कर रहे हैं। –

उत्तर

6

पर संबंधित प्रश्न पूछा है मैं क्रेडेंशियल्स का एक सेट के माध्यम से यह client_secrets.json फ़ाइल है

Google इस क्षमता प्रदान करता है डाउनलोड करने के लिए करना चाहते हैं। आप जिस प्रकार के खाते का उपयोग करना चाहते हैं उसके आधार पर इसे डाउनलोड करने के विभिन्न तरीके हैं (वेब ​​एप्लिकेशन, इंस्टॉल किया गया एप्लिकेशन, सेवा खाता)। विभिन्न तकनीकों को here पाया जा सकता है।

स्टोर साख स्थानीय और नई साख हर कॉल

यह भी एक समस्या नहीं है की आवश्यकता के बिना उन्हें प्रयोग रखने के लिए, ग्राहक गुप्त जब तक आप इसे नवीनीकृत मान्य है - AFAIK वहाँ है कोई स्वत: समाप्ति जब तक कि आप अन्यथा निर्दिष्ट नहीं करते हैं।

एक बार जब आप अपना client_secrets.json डाउनलोड कर लेंगे, तो फ़ाइल को गैर-सार्वजनिक निर्देशिका में संग्रहीत करें (आमतौर पर आपकी प्रोजेक्ट निर्देशिका/कॉन्फ़िगरेशन के अंदर)।

फ़ाइल डाउनलोड करने के समान, आप किस प्रकार के खाते का उपयोग कर रहे हैं, इस पर निर्भर करते हुए JSON फ़ाइल का उपयोग करने के लिए विभिन्न तकनीकें (प्रवाह कक्षाएं) हैं। उदाहरण के तौर पर, नीचे स्थापित और वेब अनुप्रयोगों के लिए उपयोग किया जाएगा;

from oauth2client.client import OAuth2WebServerFlow 
... 
flow = OAuth2WebServerFlow(client_id='your_client_id', 
          client_secret='your_client_secret', 
          scope='scope URL here', 
          redirect_uri='http://example.com/auth_return') 

अन्य प्रवाह वर्ग उदाहरण पाया जा सकता है here

आशा इस मदद करता है - आप अधिक जानकारी, आधिकारिक दस्तावेज की जरूरत है (जो चेतावनी दी, अविश्वसनीय रूप से गलत और भ्रामक हो सकते हैं) यहां पाया जा सकता https://developers.google.com/api-client-library/python/guide/aaa_oauth

+1

क्या आप किस प्रकार के खाते का उपयोग कर रहे हैं, इस पर निर्भर करते हुए "जेएसओएन फ़ाइल का उपयोग करने के लिए अलग-अलग तकनीकें (प्रवाह कक्षाएं) पर विस्तार कर सकते हैं।" मैं मुख्य रूप से आईपीआई कंसोल से एपीआई इंटरैक्टिव रूप से उपयोग करना चाहता हूं। –

संबंधित मुद्दे