इस दस्तावेज़ में, Geocoding API का इस्तेमाल शुरू करने के तरीके के बारे में बताया गया है.
|
पक्का करें कि आपने ज़रूरी शर्तें पूरी की हों. |
अपने Google Cloud प्रोजेक्ट में एपीआई चालू करें. |
एपीआई पासकोड या OAuth कॉन्फ़िगर करें, ताकि पुष्टि किया गया एपीआई अनुरोध किया जा सके. |
Google Maps Platform के प्रॉडक्ट को बिना अनुमति के इस्तेमाल से सुरक्षित रखा जाता है. इसके लिए, एपीआई कॉल में एपीआई पासकोड या OAuth टोकन में से किसी एक को शामिल करना ज़रूरी है.
OAuth टोकन बनाना
Geocoding API, पुष्टि करने के लिए OAuth 2.0 का इस्तेमाल करने की सुविधा देता है. Google, OAuth 2.0 के सामान्य इस्तेमाल के उदाहरणों के साथ काम करता है. जैसे, वेब सर्वर के लिए OAuth 2.0 का इस्तेमाल.
इस दस्तावेज़ में, डेवलपमेंट एनवायरमेंट में Geocoding API कॉल को OAuth टोकन पास करने का तरीका बताया गया है. प्रोडक्शन एनवायरमेंट में OAuth का इस्तेमाल करने के निर्देशों के लिए, Google पर पुष्टि करने के तरीके देखें.
OAuth के बारे में जानकारी
OAuth की मदद से ऐक्सेस टोकन बनाने और उन्हें मैनेज करने के कई तरीके हैं. ये तरीके, आपके डिप्लॉयमेंट एनवायरमेंट पर निर्भर करते हैं.
उदाहरण के लिए, Google का OAuth 2.0 सिस्टम, सर्वर-टू-सर्वर इंटरैक्शन के साथ काम करता है. जैसे, आपके ऐप्लिकेशन और Google की किसी सेवा के बीच होने वाले इंटरैक्शन. इस स्थिति में, आपको एक सेवा खाते की ज़रूरत होगी. यह खाता, किसी असली उपयोगकर्ता के बजाय आपके ऐप्लिकेशन का होता है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है. इसलिए, इसमें उपयोगकर्ताओं की सीधी भागीदारी नहीं होती. पुष्टि करने के तरीकों के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करने के तरीके लेख पढ़ें.
इसके अलावा, Android या iOS मोबाइल ऐप्लिकेशन के हिस्से के तौर पर Geocoding API का इस्तेमाल किया जा सकता है. Geocoding API के साथ OAuth का इस्तेमाल करने के बारे में सामान्य जानकारी के लिए, OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करना लेख पढ़ें. इसमें अलग-अलग डिप्लॉयमेंट एनवायरमेंट के लिए ऐक्सेस टोकन मैनेज करने के बारे में भी जानकारी दी गई है.
OAuth के दायरों के बारे में जानकारी
Geocoding API के साथ 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 आज़माना है, लेकिन आपके पास टोकन जनरेट करने के लिए एनवायरमेंट सेटअप नहीं है, तो कॉल करने के लिए इस सेक्शन में दी गई प्रक्रिया का इस्तेमाल करें.
इस उदाहरण में, कॉल करने के लिए ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल (एडीसी) से मिले OAuth टोकन का इस्तेमाल करने का तरीका बताया गया है. क्लाइंट लाइब्रेरी का इस्तेमाल करके Google API को कॉल करने के लिए, एडीसी का इस्तेमाल करने के बारे में जानकारी पाने के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करना लेख पढ़ें.
ज़रूरी शर्तें
एडीसी का इस्तेमाल करके REST अनुरोध करने से पहले, Google Cloud CLI का इस्तेमाल करके एडीसी को क्रेडेंशियल दें:
- gcloud सीएलआई इंस्टॉल करें और इसका इस्तेमाल शुरू करें.
अपनी लोकल मशीन पर, क्रेडेंशियल फ़ाइल बनाने के लिए यह
gcloudकमांड चलाएं:gcloud auth application-default login
- आपको लॉगिन स्क्रीन दिखेगी. लॉग इन करने के बाद, आपके क्रेडेंशियल ADC इस्तेमाल करने वाली लोकल क्रेडेंशियल फ़ाइल में सेव हो जाते हैं.
ज़्यादा जानकारी के लिए, लोकल डेवलपमेंट एनवायरमेंट के लिए एडीसी सेट अप करना लेख पढ़ें.
REST अनुरोध करना
इस उदाहरण में, दो अनुरोध हेडर पास किए गए हैं:
टोकन जनरेट करने के लिए, यहां दी गई कमांड का इस्तेमाल करके
Authorizationहेडर में OAuth टोकन पास करें:gcloud auth application-default print-access-tokenवापस किए गए टोकन का स्कोप
https://www.googleapis.com/auth/cloud-platform.हैX-Goog-User-Projectहेडर में, उस Google Cloud प्रोजेक्ट का आईडी या नाम पास करें जिसमें बिलिंग की सुविधा चालू है.
नीचे दिए गए उदाहरण में, OAuth टोकन का इस्तेमाल करके Geocoding API को कॉल किया गया है.
अपने Google Cloud प्रोजेक्ट का आईडी पास करने के लिए, PROJECT_ID फ़ील्ड में बदलाव करें.
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/v4/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
curlनिर्देश को कॉपी करने के लिए, कोड के सैंपल में मौजूद कॉपी करें आइकॉन,
,
पर क्लिक करें.- कमांड को टर्मिनल विंडो में चिपकाएं और उसे चलाएं.
रिस्पॉन्स, एक JSON ऑब्जेक्ट है:
समस्या का हल
अगर आपके अनुरोध पर, गड़बड़ी का ऐसा मैसेज मिलता है जिसमें बताया गया है कि इस एपीआई के साथ असली उपयोगकर्ता के क्रेडेंशियल काम नहीं करते, तो अपने एडीसी सेटअप से जुड़ी समस्या हल करें लेख पढ़ें.