Places API (नया वर्शन), पुष्टि करने के लिए OAuth 2.0 का इस्तेमाल करता है. Google, OAuth 2.0 के सामान्य मामलों के साथ काम करता है. जैसे, वेब सर्वर के लिए.
इस दस्तावेज़ में, अपने डेवलपमेंट एनवायरमेंट में, Places API (नया) कॉल में OAuth टोकन पास करने का तरीका बताया गया है. प्रोडक्शन एनवायरमेंट में OAuth का इस्तेमाल करने के लिए, Google पर पुष्टि करने की प्रोसेस देखें.
शुरू करने से पहले
Places API (नया वर्शन) का इस्तेमाल शुरू करने से पहले, आपके पास ऐसा प्रोजेक्ट होना चाहिए जिसमें बिलिंग खाता हो और Places API (नया वर्शन) चालू हो. हमारा सुझाव है कि आप कई प्रोजेक्ट मालिक और बिलिंग एडमिन बनाएं, ताकि आपकी टीम के पास इन भूमिकाओं के लिए हमेशा कोई व्यक्ति उपलब्ध रहे. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना लेख पढ़ें.
OAuth के बारे में जानकारी
डिप्लॉयमेंट एनवायरमेंट के आधार पर, OAuth की मदद से ऐक्सेस टोकन बनाने और उन्हें मैनेज करने के कई तरीके हैं.
उदाहरण के लिए, Google OAuth 2.0 सिस्टम, सर्वर-टू-सर्वर इंटरैक्शन के साथ काम करता है. जैसे, आपके ऐप्लिकेशन और Google की सेवा के बीच इंटरैक्शन. इस स्थिति में, आपको सेवा खाते की ज़रूरत होगी. यह खाता, असली उपयोगकर्ता के बजाय आपके ऐप्लिकेशन का होता है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है, ताकि उपयोगकर्ता सीधे तौर पर शामिल न हों. पुष्टि करने के तरीकों के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करना लेख पढ़ें.
इसके अलावा, Android या iOS मोबाइल ऐप्लिकेशन के हिस्से के तौर पर, Places API (नया वर्शन) का इस्तेमाल किया जा सकता है. Places API (नया वर्शन) के साथ OAuth का इस्तेमाल करने के बारे में सामान्य जानकारी पाने के लिए, Google API को ऐक्सेस करने के लिए OAuth 2.0 का इस्तेमाल करना लेख पढ़ें. इसमें, डिप्लॉयमेंट के अलग-अलग एनवायरमेंट के लिए ऐक्सेस टोकन मैनेज करने के बारे में भी जानकारी दी गई है.
OAuth के दायरों के बारे में जानकारी
Places API (नया) के साथ OAuth का इस्तेमाल करने के लिए, OAuth टोकन को स्कोप असाइन करना ज़रूरी है:
https://www.googleapis.com/auth/cloud-platform
उदाहरण: अपने लोकल डेवलपमेंट एनवायरमेंट में REST API कॉल आज़माना
अगर आपको OAuth टोकन का इस्तेमाल करके Places API (नया) आज़माना है, लेकिन आपके पास टोकन जनरेट करने के लिए कोई एनवायरमेंट सेट अप नहीं है, तो कॉल करने के लिए इस सेक्शन में दिए गए तरीके का इस्तेमाल करें.
इस उदाहरण में, कॉल करने के लिए ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (ADC) से मिले OAuth टोकन का इस्तेमाल करने का तरीका बताया गया है. क्लाइंट लाइब्रेरी का इस्तेमाल करके, Google API को कॉल करने के लिए एडीसी का इस्तेमाल करने के बारे में जानने के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करना लेख पढ़ें.
ज़रूरी शर्तें
एडीसी का इस्तेमाल करके कोई REST अनुरोध करने से पहले, एडीसी को क्रेडेंशियल देने के लिए, Google Cloud CLI का इस्तेमाल करें:
- अगर आपने अब तक कोई प्रोजेक्ट नहीं बनाया है, तो प्रोजेक्ट बनाएं और बिलिंग की सुविधा चालू करें. इसके लिए, Google Cloud Console में सेट अप करने का तरीका अपनाएं.
- 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 प्रोजेक्ट का आईडी या नाम डालें जिसमें बिलिंग की सुविधा चालू है. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना लेख पढ़ें.
नीचे दिए गए उदाहरण में, OAuth टोकन का इस्तेमाल करके Places API (नया) को कॉल किया गया है:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \ "https://places.googleapis.com/v1/places:searchText"
समस्या का हल
अगर आपके अनुरोध पर, एंड-यूज़र क्रेडेंशियल के काम न करने की गड़बड़ी का मैसेज मिलता है, तो उपयोगकर्ता के क्रेडेंशियल काम नहीं कर रहे हैं लेख पढ़ें.