Roads Selection API, Roads Selection API को मुख्य कॉम्पोनेंट के तौर पर इस्तेमाल करता है. यह BigQuery और Pub/Sub को सड़क का डेटा उपलब्ध कराता है.
Roads Selection API, पुष्टि करने के लिए OAuth 2.0 के इस्तेमाल की सुविधा देता है. Google, OAuth 2.0 के सामान्य मामलों के साथ काम करता है. जैसे, वेब सर्वर के लिए.
इस दस्तावेज़ में बताया गया है कि आपके डेवलपमेंट एनवायरमेंट में, Roads Selection API कॉल को OAuth टोकन कैसे पास किया जाता है. प्रोडक्शन एनवायरमेंट में OAuth का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करना लेख पढ़ें.
शुरू करने से पहले
Roads Selection API का इस्तेमाल शुरू करने से पहले, आपके पास एक ऐसा प्रोजेक्ट होना चाहिए जिसमें बिलिंग खाता और Roads Selection API चालू हो. ज़्यादा जानकारी के लिए, Cloud Console में सेट अप करना लेख पढ़ें.
OAuth के बारे में जानकारी
डिप्लॉयमेंट एनवायरमेंट के आधार पर, OAuth की मदद से ऐक्सेस टोकन बनाने और उन्हें मैनेज करने के कई तरीके हैं.
उदाहरण के लिए, Google OAuth 2.0 सिस्टम, सर्वर-टू-सर्वर इंटरैक्शन के साथ काम करता है. जैसे, आपके ऐप्लिकेशन और Google की किसी सेवा के बीच होने वाले इंटरैक्शन. इस स्थिति के लिए, आपके पास एक सेवा खाता होना चाहिए. यह खाता किसी उपयोगकर्ता के बजाय आपके ऐप्लिकेशन से जुड़ा होता है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है, क्योंकि उपयोगकर्ता सीधे तौर पर शामिल नहीं होते. पुष्टि करने के तरीकों के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करना लेख पढ़ें.
इसके अलावा, Roads Selection API का इस्तेमाल Android या iOS मोबाइल ऐप्लिकेशन के हिस्से के तौर पर किया जा सकता है. Roads Selection API के साथ OAuth का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Google API को ऐक्सेस करने के लिए OAuth 2.0 का इस्तेमाल करना लेख पढ़ें. इसमें, डिप्लॉयमेंट के अलग-अलग एनवायरमेंट के लिए ऐक्सेस टोकन मैनेज करने के बारे में भी जानकारी दी गई है.
OAuth के दायरों के बारे में जानकारी
Roads Selection API के साथ OAuth का इस्तेमाल करने के लिए, OAuth टोकन में https://www.googleapis.com/auth/cloud-platform स्कोप होना चाहिए.
उदाहरण: अपने लोकल डेवलपमेंट एनवायरमेंट में REST API कॉल आज़माना
अगर आपको OAuth टोकन का इस्तेमाल करके, Roads Selection API को आज़माना है, लेकिन आपके पास टोकन जनरेट करने के लिए सेट अप किया गया एनवायरमेंट नहीं है, तो अनुरोध करने के लिए इस सेक्शन में दिया गया तरीका अपनाएं.
इस उदाहरण में, कॉल करने के लिए ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल (एडीसी) से मिले OAuth टोकन का इस्तेमाल करने का तरीका बताया गया है. क्लाइंट लाइब्रेरी की मदद से Google API को कॉल करने के लिए, एडीसी का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करना लेख पढ़ें.
ज़रूरी शर्तें
एडीसी का इस्तेमाल करके REST अनुरोध करने से पहले, Google Cloud CLI का इस्तेमाल करके एडीसी को क्रेडेंशियल दें:
- अगर आपने अब तक कोई प्रोजेक्ट नहीं बनाया है, तो Cloud Console में सेट अप करें में दिया गया तरीका अपनाकर, एक प्रोजेक्ट बनाएं और बिलिंग की सुविधा चालू करें.
- gcloud सीएलआई इंस्टॉल करें और उसे शुरू करें.
क्रेडेंशियल फ़ाइल बनाने के लिए, अपनी लोकल मशीन पर
gcloudकमांड चलाएं:gcloud auth application-default login
- जब आपसे कहा जाए, तब साइन इन करें. साइन इन करने के बाद, आपके क्रेडेंशियल एडीसी की इस्तेमाल की जाने वाली लोकल क्रेडेंशियल फ़ाइल में सेव हो जाते हैं.
ज़्यादा जानकारी के लिए, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल के लिए क्रेडेंशियल उपलब्ध कराना दस्तावेज़ का लोकल डेवलपमेंट एनवायरमेंट सेक्शन देखें.
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 टोकन का इस्तेमाल करके, Roads Selection API को कॉल करें:
curl -X GET \ -H 'X-Goog-User-Project: PROJECT_NUMBER' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID
समस्या का हल
अगर आपके अनुरोध पर गड़बड़ी का कोई ऐसा मैसेज मिलता है जिसमें बताया गया हो कि असली उपयोगकर्ता के क्रेडेंशियल इस एपीआई के साथ काम नहीं करते, तो उपयोगकर्ता के क्रेडेंशियल काम नहीं कर रहे हैं देखें.