Places Insights API, पुष्टि करने के लिए OAuth 2.0 का इस्तेमाल करता है. Google, OAuth 2.0 के सामान्य मामलों के साथ काम करता है. जैसे, वेब सर्वर के लिए.
इस दस्तावेज़ में, अपने डेवलपमेंट एनवायरमेंट में, Places Insights API कॉल में OAuth टोकन पास करने का तरीका बताया गया है. प्रोडक्शन एनवायरमेंट में OAuth का इस्तेमाल करने के बारे में निर्देश पाने के लिए, Google पर पुष्टि करना लेख पढ़ें.
शुरू करने से पहले
Places Insights API का इस्तेमाल शुरू करने से पहले, आपके पास बिलिंग खाते वाला ऐसा प्रोजेक्ट होना चाहिए जिसमें Places Insights API चालू हो. हमारा सुझाव है कि आप एक से ज़्यादा प्रोजेक्ट मालिक और बिलिंग एडमिन बनाएं, ताकि आपकी टीम के पास इन भूमिकाओं के लिए हमेशा कोई व्यक्ति उपलब्ध रहे. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना लेख पढ़ें.
OAuth के बारे में जानकारी
डिप्लॉयमेंट एनवायरमेंट के आधार पर, OAuth की मदद से ऐक्सेस टोकन बनाने और उन्हें मैनेज करने के कई तरीके हैं.
उदाहरण के लिए, Google OAuth 2.0 सिस्टम, सर्वर-टू-सर्वर इंटरैक्शन के साथ काम करता है. जैसे, आपके ऐप्लिकेशन और Google की सेवा के बीच इंटरैक्शन. इस स्थिति में, आपको सेवा खाते की ज़रूरत होगी. यह खाता, असली उपयोगकर्ता के बजाय आपके ऐप्लिकेशन का होता है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है, ताकि उपयोगकर्ता सीधे तौर पर शामिल न हों. पुष्टि करने के तरीकों के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करना लेख पढ़ें.
इसके अलावा, Places Insights API का इस्तेमाल Android या iOS मोबाइल ऐप्लिकेशन के हिस्से के तौर पर भी किया जा सकता है. Places Insights API के साथ OAuth का इस्तेमाल करने के बारे में सामान्य जानकारी पाने के लिए, Google API को ऐक्सेस करने के लिए OAuth 2.0 का इस्तेमाल करना देखें. इसमें, अलग-अलग डिप्लॉयमेंट एनवायरमेंट के लिए ऐक्सेस टोकन मैनेज करने के बारे में भी जानकारी दी गई है.
OAuth के दायरों के बारे में जानकारी
Places Insights API के साथ OAuth का इस्तेमाल करने के लिए, OAuth टोकन को स्कोप असाइन करना ज़रूरी है:
https://www.googleapis.com/auth/cloud-platform
उदाहरण: अपने लोकल डेवलपमेंट एनवायरमेंट में REST API कॉल आज़माना
अगर आपको OAuth टोकन का इस्तेमाल करके Places Insights 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 Insights API को कॉल किया गया है:
curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \ -H "Authorization: Bearer $TOKEN" \ --data '{ "insights":[ "INSIGHT_COUNT" ], "filter":{ "location_filter":{ "region":{ "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo" } }, "type_filter":{ "included_types":[ "restaurant" ] }, "price_levels":[ "PRICE_LEVEL_INEXPENSIVE" ] } }'
समस्या का हल
अगर आपके अनुरोध पर, एंड-यूज़र क्रेडेंशियल के काम न करने की वजह से गड़बड़ी का मैसेज मिलता है, तो उपयोगकर्ता के क्रेडेंशियल काम नहीं कर रहे हैं लेख पढ़ें.