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

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 (नया) का इस्तेमाल किया जा सकता है. जगहों का एपीआई (नया) के साथ 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 का इस्तेमाल करने के बारे में जानकारी के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करें देखें.

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

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

  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"

समस्या हल करना

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