सोलर एपीआई की मदद से, पुष्टि करने के लिए OAuth 2.0 का इस्तेमाल किया जा सकता है. Google, OAuth 2.0 के सामान्य वर्शन के साथ काम करता है, जैसे कि वेब सर्वर के मामले.
इस दस्तावेज़ में, Solar API कॉल में OAuth टोकन पास करने का तरीका बताया गया है डेवलपमेंट एनवायरमेंट. में OAuth का इस्तेमाल करने से जुड़े निर्देशों के लिए, प्रोडक्शन एनवायरमेंट, देखने के लिए देखें Google में पुष्टि करना.
शुरू करने से पहले
सोलर एपीआई का इस्तेमाल शुरू करने से पहले, आपको ऐसा प्रोजेक्ट जिसमें बिलिंग खाता और सोलर एपीआई चालू हो. हमारा सुझाव है कि आप एक से ज़्यादा प्रोजेक्ट के मालिक और बिलिंग एडमिन, ताकि आपके पास ये भूमिकाएं हमेशा रहें जो आपकी टीम के लिए उपलब्ध हों. ज़्यादा जानने के लिए, Cloud Console में सेट अप करें लेख पढ़ें.
OAuth के बारे में जानकारी
अपने डिप्लॉयमेंट के आधार पर, OAuth का इस्तेमाल करके ऐक्सेस टोकन बनाने और उन्हें मैनेज करने के कई तरीके हैं पर्यावरण को ध्यान में रखते हुए काम करना.
उदाहरण के लिए, Google OAuth 2.0 सिस्टम, सर्वर-टू-सर्वर इंटरैक्शन का इस्तेमाल करता है. जैसे, आपके ऐप्लिकेशन और किसी Google सेवा के बीच. ऐसी स्थिति में, आपको सेवा खाते की ज़रूरत होगी, जिसमें वह खाता है जो किसी व्यक्तिगत असली उपयोगकर्ता के बजाय आपके ऐप्लिकेशन से जुड़ा है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है, ताकि उपयोगकर्ता सीधे तौर पर शामिल न हों. पुष्टि करने के तरीकों के बारे में ज़्यादा जानने के लिए, यहां देखें Google में पुष्टि करना.
इसके अलावा, आपके पास Android या iOS मोबाइल ऐप्लिकेशन के हिस्से के तौर पर भी Solar API का इस्तेमाल करने का विकल्प है. सोलर एपीआई के साथ OAuth का इस्तेमाल करने के बारे में सामान्य जानकारी. इसमें, सोलर पैनल को मैनेज करने की जानकारी भी शामिल है अलग-अलग डिप्लॉयमेंट एनवायरमेंट के लिए ऐक्सेस टोकन, देखें Google API ऐक्सेस करने के लिए, OAuth 2.0 का इस्तेमाल करना.
OAuth के दायरों के बारे में जानकारी
सोलर एपीआई के साथ OAuth का इस्तेमाल करने के लिए, OAuth टोकन को स्कोप असाइन किया जाना ज़रूरी है:
https://www.googleapis.com/auth/cloud-platform
उदाहरण: अपने लोकल डेवलपमेंट एनवायरमेंट में REST API कॉल आज़माएं
अगर आपको OAuth टोकन का इस्तेमाल करके Solar API को आज़माना है, लेकिन एनवायरमेंट नहीं है सेटअप किया है, तो कॉल करने के लिए इस सेक्शन में दी गई प्रक्रिया का इस्तेमाल करें.
इस उदाहरण में, OAuth टोकन को इस्तेमाल करने का तरीका बताया गया है. ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (ADC) कॉल करने के लिए. क्लाइंट लाइब्रेरी का इस्तेमाल करके, Google API को कॉल करने के लिए ADC का इस्तेमाल करने के बारे में जानकारी के लिए, देखें क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करें.
ज़रूरी शर्तें
ADC का इस्तेमाल करके REST का अनुरोध करने से पहले, Google Cloud सीएलआई का इस्तेमाल करें ADC को क्रेडेंशियल देने के लिए:
- अगर आपने अभी तक कोई प्रोजेक्ट नहीं बनाया है, तो प्रोजेक्ट बनाएं और बिलिंग चालू करने के लिए, यहां दिया गया तरीका अपनाएं 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.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है- अपने उस Google Cloud प्रोजेक्ट का आईडी या नाम पास करें जिसकी बिलिंग की सुविधा
X-Goog-User-Project
हेडर. इस बारे में ज़्यादा जानने के लिए, यह देखें 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"
समस्या का हल
अगर आपके अनुरोध से, असली उपयोगकर्ता के क्रेडेंशियल के बारे में गड़बड़ी का मैसेज मिलता है और वे इस एपीआई के साथ काम नहीं करते, तो उपयोगकर्ता के क्रेडेंशियल काम नहीं कर रहे हैं देखें.