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

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

इस दस्तावेज़ में, अपने डेवलपमेंट एनवायरमेंट में, Solar API कॉल को OAuth टोकन पास करने का तरीका बताया गया है. प्रोडक्शन एनवायरमेंट में OAuth का इस्तेमाल करने के लिए, Google पर पुष्टि करने की प्रोसेस देखें.

शुरू करने से पहले

Solar API का इस्तेमाल शुरू करने से पहले, आपके पास ऐसा प्रोजेक्ट होना चाहिए जिसमें बिलिंग खाता और Solar API चालू हो. हमारा सुझाव है कि आप एक से ज़्यादा प्रोजेक्ट मालिक और बिलिंग एडमिन बनाएं, ताकि आपकी टीम के पास इन भूमिकाओं के लिए हमेशा कोई व्यक्ति उपलब्ध रहे. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना लेख पढ़ें.

OAuth के बारे में जानकारी

डिप्लॉयमेंट एनवायरमेंट के आधार पर, OAuth की मदद से ऐक्सेस टोकन बनाने और मैनेज करने के कई तरीके हैं.

उदाहरण के लिए, Google OAuth 2.0 सिस्टम, सर्वर-टू-सर्वर इंटरैक्शन के साथ काम करता है. जैसे, आपके ऐप्लिकेशन और Google की सेवा के बीच इंटरैक्शन. इस स्थिति में, आपको सेवा खाते की ज़रूरत होगी. यह खाता, असली उपयोगकर्ता के बजाय आपके ऐप्लिकेशन का होता है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है, ताकि उपयोगकर्ता सीधे तौर पर शामिल न हों. पुष्टि करने के तरीकों के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करना लेख पढ़ें.

इसके अलावा, Android या iOS मोबाइल ऐप्लिकेशन के हिस्से के तौर पर भी Solar API का इस्तेमाल किया जा सकता है. Solar API के साथ OAuth का इस्तेमाल करने के बारे में सामान्य जानकारी पाने के लिए, Google API को ऐक्सेस करने के लिए OAuth 2.0 का इस्तेमाल करना देखें. इसमें, डिप्लॉयमेंट के अलग-अलग एनवायरमेंट के लिए ऐक्सेस टोकन मैनेज करने के बारे में भी जानकारी दी गई है.

OAuth के दायरों के बारे में जानकारी

Solar API के साथ OAuth का इस्तेमाल करने के लिए, OAuth टोकन को स्कोप असाइन करना ज़रूरी है:

  • https://www.googleapis.com/auth/cloud-platform

उदाहरण: अपने लोकल डेवलपमेंट एनवायरमेंट में REST API कॉल आज़माना

अगर आपको OAuth टोकन का इस्तेमाल करके Solar API आज़माना है, लेकिन आपके पास टोकन जनरेट करने के लिए कोई एनवायरमेंट सेट अप नहीं है, तो कॉल करने के लिए इस सेक्शन में दिए गए तरीके का इस्तेमाल करें.

इस उदाहरण में, कॉल करने के लिए ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (ADC) से मिले OAuth टोकन का इस्तेमाल करने का तरीका बताया गया है. क्लाइंट लाइब्रेरी का इस्तेमाल करके, Google API को कॉल करने के लिए एडीसी का इस्तेमाल करने के बारे में जानने के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करना लेख पढ़ें.

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

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

  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. है

  • X-Goog-User-Project हेडर में, अपने उस Google Cloud प्रोजेक्ट का आईडी या नाम डालें जिसमें बिलिंग की सुविधा चालू है. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना लेख पढ़ें.

नीचे दिए गए उदाहरण में, OAuth टोकन का इस्तेमाल करके Solar API को कॉल किया गया है:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
-H "Authorization: Bearer $TOKEN" \
"https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.4450&location.longitude=-122.1390&radius_meters=100&required_quality=HIGH"

समस्या का हल

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