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

रूट ऑप्टिमाइज़ेशन एपीआई, पुष्टि करने के लिए OAuth 2.0 के इस्तेमाल के साथ काम करता है. Google, OAuth 2.0 के सामान्य वर्शन के साथ काम करता है, जैसे कि वेब सर्वर के मामले.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • बताएं कि अनुरोध के मुख्य हिस्से का कॉन्टेंट-टाइप application/json है.

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

curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
--data-binary @- << EOM
{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        }
      }
    ],
    "globalStartTime": "2023-01-13T16:00:00-08:00",
    "globalEndTime": "2023-01-14T16:00:00-08:00"
  }
}
EOM

समस्या का हल

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