इस दस्तावेज़ में, Geocoding API का इस्तेमाल शुरू करने के लिए ज़रूरी चरणों के बारे में बताया गया है.
|
पक्का करें कि आपने ज़रूरी शर्तें पूरी की हों. |
अपने Google Cloud प्रोजेक्ट में एपीआई चालू करें. |
पुष्टि किए गए एपीआई अनुरोध करने के लिए, एपीआई पासकोड या OAuth कॉन्फ़िगर करें. |
Google Maps Platform के प्रॉडक्ट को, बिना अनुमति के इस्तेमाल से सुरक्षित रखा जाता है. इसके लिए, एपीआई कॉल में या तो एपीआई पासकोड या OAuth टोकन शामिल करना ज़रूरी है.
OAuth टोकन बनाना
Geocoding API, पुष्टि करने के लिए OAuth 2.0 का इस्तेमाल करने की सुविधा देता है. Google, OAuth 2.0 के सामान्य परिदृश्यों के साथ काम करता है. जैसे, वेब सर्वर के लिए.
इस दस्तावेज़ में, डेवलपमेंट एनवायरमेंट में, Geocoding API कॉल में OAuth टोकन पास करने का तरीका बताया गया है. **प्रोडक्शन** एनवायरमेंट में OAuth का इस्तेमाल करने के निर्देशों के लिए, Google पर पुष्टि करने के तरीके लेख पढ़ें.
OAuth के बारे में जानकारी
अपने डिप्लॉयमेंट एनवायरमेंट के आधार पर, OAuth की मदद से ऐक्सेस टोकन बनाने और मैनेज करने के कई तरीके हैं.
उदाहरण के लिए, Google OAuth 2.0 सिस्टम, सर्वर-टू-सर्वर इंटरैक्शन के साथ काम करता है. जैसे, आपके ऐप्लिकेशन और Google की किसी सेवा के बीच इंटरैक्शन. इस परिदृश्य के लिए, आपको एक सेवा खाते की ज़रूरत होती है. यह खाता, किसी असली उपयोगकर्ता के बजाय आपके ऐप्लिकेशन से जुड़ा होता है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है. इसलिए, उपयोगकर्ता सीधे तौर पर शामिल नहीं होते. पुष्टि करने के तरीकों के बारे में ज़्यादा जानकारी के लिए, Google पर पुष्टि करने के तरीके लेख पढ़ें.
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
- आपको लॉगिन स्क्रीन दिखेगी. लॉग इन करने के बाद, आपके क्रेडेंशियल, एडीसी की इस्तेमाल की जाने वाली लोकल क्रेडेंशियल फ़ाइल में सेव हो जाते हैं.
ज़्यादा जानकारी के लिए, लोकल डेवलपमेंट एनवायरमेंट के लिए एडीसी सेट अप करना लेख पढ़ें.
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 ऑब्जेक्ट है:
समस्या का हल
अगर आपके अनुरोध पर, असली उपयोगकर्ता के क्रेडेंशियल के बारे में कोई गड़बड़ी का मैसेज मिलता है, तो इसका मतलब है कि यह एपीआई, असली उपयोगकर्ता के क्रेडेंशियल के साथ काम नहीं करता. इस बारे में ज़्यादा जानने के लिए, एडीसी सेटअप से जुड़ी समस्या हल करना लेख पढ़ें.