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

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

इस दस्तावेज़ में बताया गया है कि आप अपनी डेवलपमेंट एनवायरमेंट. प्रोडक्शन एनवायरमेंट में 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 को कॉल करने के लिए एडीसी का इस्तेमाल करने के बारे में जानने के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करना लेख पढ़ें.

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

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

  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. अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

  • अपने उस Google Cloud प्रोजेक्ट का आईडी या नाम पास करें जिसकी बिलिंग की सुविधा X-Goog-User-Project हेडर. ज़्यादा जानने के लिए, 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"

समस्या का हल

अगर आपके अनुरोध से, असली उपयोगकर्ता के क्रेडेंशियल के बारे में गड़बड़ी का मैसेज मिलता है और वे इस एपीआई के साथ काम नहीं करते, तो उपयोगकर्ता के क्रेडेंशियल काम नहीं कर रहे हैं देखें.