OAuth का इस्तेमाल करें

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

Geocoding API, पुष्टि करने के लिए OAuth 2.0 का इस्तेमाल करता है. Google, OAuth 2.0 के सामान्य मामलों के साथ काम करता है. जैसे, वेब सर्वर के लिए.

इस दस्तावेज़ में, डेवलपमेंट एनवायरमेंट में Geocoding API कॉल को OAuth टोकन पास करने का तरीका बताया गया है. प्रोडक्शन एनवायरमेंट में OAuth का इस्तेमाल करने के लिए, Google पर पुष्टि करने की प्रोसेस देखें.

शुरू करने से पहले

Geocoding API का इस्तेमाल शुरू करने से पहले, आपके पास बिलिंग खाते वाला ऐसा प्रोजेक्ट होना चाहिए जिसमें Geocoding API की सुविधा चालू हो. हमारा सुझाव है कि आप कई प्रोजेक्ट मालिक और बिलिंग एडमिन बनाएं, ताकि आपकी टीम के पास इन भूमिकाओं के लिए हमेशा कोई व्यक्ति उपलब्ध रहे. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना लेख पढ़ें.

OAuth के बारे में जानकारी

डिप्लॉयमेंट एनवायरमेंट के आधार पर, OAuth की मदद से ऐक्सेस टोकन बनाने और उन्हें मैनेज करने के कई तरीके हैं.

उदाहरण के लिए, Google OAuth 2.0 सिस्टम, सर्वर-टू-सर्वर इंटरैक्शन के साथ काम करता है. जैसे, आपके ऐप्लिकेशन और Google की सेवा के बीच इंटरैक्शन. इस स्थिति में, आपको सेवा खाते की ज़रूरत होगी. यह खाता, असली उपयोगकर्ता के बजाय आपके ऐप्लिकेशन का होता है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है, ताकि उपयोगकर्ता सीधे तौर पर शामिल न हों. पुष्टि करने के तरीकों के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करना लेख पढ़ें.

इसके अलावा, Android या iOS मोबाइल ऐप्लिकेशन के हिस्से के तौर पर भी Geocoding API का इस्तेमाल किया जा सकता है. Geocoding API के साथ OAuth का इस्तेमाल करने के बारे में सामान्य जानकारी पाने के लिए, Google API को ऐक्सेस करने के लिए OAuth 2.0 का इस्तेमाल करना देखें. इसमें, डिप्लॉयमेंट के अलग-अलग एनवायरमेंट के लिए ऐक्सेस टोकन मैनेज करने के बारे में भी जानकारी दी गई है.

OAuth के दायरों के बारे में जानकारी

जियोकोडिंग एपीआई के साथ OAuth का इस्तेमाल करने के लिए, OAuth टोकन को सही दायरा असाइन करना ज़रूरी है. Geocoding API इन स्कोप के साथ काम करता है:

  • https://www.googleapis.com/auth/maps-platform.geocode — Geocoding API के सभी एंडपॉइंट के साथ इस्तेमाल करें.
  • https://www.googleapis.com/auth/maps-platform.geocode.address — फ़ॉरवर्ड जियोकोडिंग के लिए, सिर्फ़ GeocodeAddress के साथ इस्तेमाल करें.
  • https://www.googleapis.com/auth/maps-platform.geocode.location — रिवर्स जियोकोडिंग के लिए, सिर्फ़ GeocodeLocation के साथ इस्तेमाल करें.
  • https://www.googleapis.com/auth/maps-platform.geocode.place — जगह की जियोकोडिंग के लिए, सिर्फ़ GeocodePlace के साथ इस्तेमाल करें.

इसके अलावा, Geocoding API के सभी एंडपॉइंट के लिए, सामान्य https://www.googleapis.com/auth/cloud-platform स्कोप का इस्तेमाल किया जा सकता है. यह स्कोप, डेवलपमेंट के दौरान काम का होता है, क्योंकि gcloud का इस्तेमाल करके टोकन बनाते समय, इसका इस्तेमाल डिफ़ॉल्ट स्कोप के तौर पर किया जाता है.

उदाहरण: अपने लोकल डेवलपमेंट एनवायरमेंट में REST API कॉल आज़माना

अगर आपको OAuth टोकन का इस्तेमाल करके Geocoding API आज़माना है, लेकिन आपके पास टोकन जनरेट करने के लिए कोई एनवायरमेंट सेट अप नहीं है, तो कॉल करने के लिए इस सेक्शन में दिए गए तरीके का इस्तेमाल करें.

इस उदाहरण में, कॉल करने के लिए ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (ADC) से मिले OAuth टोकन का इस्तेमाल करने का तरीका बताया गया है. क्लाइंट लाइब्रेरी का इस्तेमाल करके, Google API को कॉल करने के लिए एडीसी का इस्तेमाल करने के बारे में जानने के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करना लेख पढ़ें.

ज़रूरी शर्तें

एडीसी का इस्तेमाल करके कोई REST अनुरोध करने से पहले, एडीसी को क्रेडेंशियल देने के लिए, Google Cloud CLI का इस्तेमाल करें:

  1. अगर आपने अब तक कोई प्रोजेक्ट नहीं बनाया है, तो प्रोजेक्ट बनाएं और बिलिंग की सुविधा चालू करें. इसके लिए, Google Cloud Console में सेट अप करने का तरीका अपनाएं.
  2. gcloud सीएलआई इंस्टॉल और शुरू करें.
  3. क्रेडेंशियल फ़ाइल बनाने के लिए, अपनी लोकल मशीन पर यह gcloud कमांड चलाएं:

    gcloud auth application-default login
  4. आपको लॉगिन स्क्रीन दिखेगी. लॉग इन करने के बाद, आपके क्रेडेंशियल, ADC के इस्तेमाल की जाने वाली लोकल क्रेडेंशियल फ़ाइल में सेव हो जाते हैं.

ज़्यादा जानकारी के लिए, डिफ़ॉल्ट क्रेडेंशियल के लिए क्रेडेंशियल उपलब्ध कराएं दस्तावेज़ का लोकल डेवलपमेंट एनवायरमेंट सेक्शन देखें.

REST अनुरोध करना

इस उदाहरण में, दो अनुरोध हेडर पास किए गए हैं:

  • टोकन जनरेट करने के लिए, यहां दिए गए कमांड का इस्तेमाल करके Authorization हेडर में OAuth टोकन पास करें:

    gcloud auth application-default print-access-token

    दिखाए गए टोकन का दायरा https://www.googleapis.com/auth/cloud-platform. है

  • X-Goog-User-Project हेडर में, अपने उस Google Cloud प्रोजेक्ट का आईडी या नाम डालें जिसमें बिलिंग की सुविधा चालू है. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना लेख पढ़ें.

इस उदाहरण में, OAuth टोकन का इस्तेमाल करके Geocoding API को कॉल किया गया है:

curl -X GET -H 'Content-Type: application/json' \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://geocode.googleapis.com/v4beta/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"

समस्या का हल

अगर आपके अनुरोध पर, एंड-यूज़र क्रेडेंशियल के काम न करने की गड़बड़ी का मैसेज मिलता है, तो उपयोगकर्ता के क्रेडेंशियल काम नहीं कर रहे हैं लेख पढ़ें.