सड़कों से जुड़े एपीआई के साथ एपीआई कुंजियों का इस्तेमाल करें

Google Maps Platform के प्रॉडक्ट, बिना अनुमति के इस्तेमाल किए जाने से सुरक्षित हैं. इसके लिए, एपीआई कॉल को उन प्रॉडक्ट तक सीमित कर दिया जाता है जो पुष्टि करने के लिए सही क्रेडेंशियल देते हैं. ये क्रेडेंशियल, एपीआई पासकोड के रूप में होते हैं - अक्षरों और अंकों से बनी एक यूनीक स्ट्रिंग, जो आपके Google बिलिंग खाते को आपके प्रोजेक्ट से जोड़ती है. साथ ही, किसी खास एपीआई या SDK टूल से भी जुड़ी होती है.

इस गाइड में Google Maps Platform के लिए एपीआई पासकोड बनाने, उस पर पाबंदी लगाने, और उसे इस्तेमाल करने का तरीका बताया गया है.

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

Roads API का इस्तेमाल शुरू करने से पहले, आपको ऐसा प्रोजेक्ट बनाना होगा जिसमें एक बिलिंग खाता हो और Roads API चालू हो. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना देखें.

एपीआई कुंजियां बनाई जा रही हैं

एपीआई पासकोड एक यूनीक आइडेंटिफ़ायर है, जो आपके प्रोजेक्ट से जुड़े उन अनुरोधों की पुष्टि करता है जो इस्तेमाल और बिलिंग के मकसद से किए जाते हैं. आपके प्रोजेक्ट से कम से कम एक एपीआई पासकोड जुड़ा होना चाहिए.

एपीआई पासकोड बनाने के लिए:

Console

  1. Google Maps Platform > क्रेडेंशियल पेज पर जाएं.

    क्रेडेंशियल पेज पर जाएं

  2. क्रेडेंशियल पेज पर, क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें.
    एपीआई पासकोड बनाया गया डायलॉग, आपकी नई बनाई गई एपीआई पासकोड दिखाता है.
  3. बंद करें पर क्लिक करें.
    नई एपीआई पासकोड, एपीआई पासकोड में, क्रेडेंशियल पेज पर मौजूद होता है.
    (एपीआई) कुंजी को प्रोडक्शन में इस्तेमाल करने से पहले, एपीआई पर पाबंदी ज़रूर लगाएं.

Cloud SDK

gcloud alpha services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Google Cloud SDK , Cloud SDK इंस्टॉल करने का तरीका , और इन निर्देशों के बारे में ज़्यादा जानें:

एपीआई कुंजियों पर पाबंदी लगाना

Google का सुझाव है कि आप अपनी एपीआई कुंजियों के इस्तेमाल को सिर्फ़ उन एपीआई तक सीमित रखें जो आपके ऐप्लिकेशन के लिए ज़रूरी हैं. एपीआई कुंजियों को प्रतिबंधित करने से आपके ऐप्लिकेशन को बिना वारंटी वाले अनुरोधों से बचाकर उसे ज़्यादा सुरक्षित बनाया जाता है. ज़्यादा जानकारी के लिए, एपीआई की सुरक्षा से जुड़े सबसे सही तरीके देखें.

एपीआई पासकोड पर पाबंदी लगाने के लिए:

Console

  1. Google Maps Platform > क्रेडेंशियल पेज पर जाएं.

    क्रेडेंशियल पेज पर जाएं

  2. वह एपीआई पासकोड चुनें जिस पर पाबंदी लगानी है. इसके बाद, एपीआई पासकोड प्रॉपर्टी का पेज दिखेगा.
  3. मुख्य पाबंदियां में जाकर, ये पाबंदियां सेट करें:
    • ऐप्लिकेशन के इस्तेमाल से जुड़ी पाबंदियां:
      1. आपकी ओर से दिए गए वेब सर्वर के आईपी पतों की सूची से अनुरोध स्वीकार करने के लिए, ऐप्लिकेशन पर पाबंदियां वाली सूची से आईपी पते (वेब सर्वर, क्रॉन जॉब वगैरह) चुनें. एक या एक से ज़्यादा IPv4 या IPv6 पते या सीआईडीआर नोटेशन का इस्तेमाल करके सबनेट बताएं. आईपी पते, उस सोर्स पते से मेल खाने चाहिए जो Google Maps Platform के सर्वर मॉनिटर करते हैं. अगर नेटवर्क अड्रेस ट्रांसलेशन (एनएटी) का इस्तेमाल किया जाता है, तो यह आम तौर पर आपकी मशीन के सार्वजनिक आईपी पते के मुताबिक होगा.
    • एपीआई से जुड़ी पाबंदियां:
      1. बटन पर पाबंदी लगाएं पर क्लिक करें.
      2. एपीआई चुनें ड्रॉपडाउन से Roads API चुनें. अगर रोड एपीआई सूची में नहीं है, तो आपको उसे enable करना होगा.
  4. अपने बदलावों को पूरा करने के लिए, सेव करें पर क्लिक करें.

Cloud SDK

मौजूदा कुंजियों की सूची बनाएं.

gcloud services api-keys list --project="PROJECT"

मौजूदा बटन पर लगी पाबंदियां हटाएं.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

मौजूदा बटन पर नई पाबंदियां सेट करें.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --api-target="roads.googleapis.com"
    --allowed-ips="IP_ADDRESS"

Google Cloud SDK , Cloud SDK इंस्टॉल करने का तरीका , और इन निर्देशों के बारे में ज़्यादा जानें:

आपके अनुरोध में एपीआई पासकोड जोड़ना

आपको हर Roads API अनुरोध के साथ, एक एपीआई पासकोड शामिल करना होगा. यहां दिए गए उदाहरण में, YOUR_API_KEY को अपनी एपीआई पासकोड से बदलें.

https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907|-35.28099,149.12929|-35.28144,149.12984|-35.28194,149.13003|-35.28282,149.12956|-35.28302,149.12881|-35.28473,149.12836 &interpolate=true &key=YOUR_API_KEY

एपीआई पासकोड का इस्तेमाल करने वाले अनुरोधों के लिए, एचटीटीपीएस ज़रूरी है.