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

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

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

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

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

एपीआई पासकोड बनाएं

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

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

कंसोल

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

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

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

Cloud SDK

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

यहां दी गई, Google Cloud SDK टूल , Cloud SDK टूल इंस्टॉल करना , और ये निर्देश दिए जा सकते हैं:

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

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

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

कंसोल

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

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

  2. वह एपीआई पासकोड चुनें जिस पर पाबंदी सेट करनी है. आपको एपीआई पासकोड प्रॉपर्टी पेज दिखेगा.
  3. मुख्य पाबंदियां में जाकर, इन पाबंदियों को सेट करें:
    • ऐप्लिकेशन से जुड़ी पाबंदियां:
      1. आपने जो वेबसाइटें दी हैं उनकी सूची से अनुरोध स्वीकार करने के लिए, एचटीटीपी रेफ़रर (वेब साइटें) ऐप्लिकेशन की सूची से पाबंदियां तय की गई हैं.
      2. एक या उससे ज़्यादा रेफ़रल देने वाली वेबसाइटों के बारे में बताएं. वाइल्डकार्ड का इस्तेमाल किया जा सकता है सभी सबडोमेन को अनुमति देने के लिए वर्ण (उदाहरण के लिए, https://*.google.com इस पर खत्म होने वाली सभी साइटों को स्वीकार करता है एचटीटीपीएस पर ऐक्सेस करने पर, .google.com). ध्यान दें कि अगर आपको www.domain.com पर जाकर, वह वाइल्डकार्ड www.domain.com/* के तौर पर काम करता है और उस होस्टनेम पर किसी भी सबपाथ को अनुमति देता है. https:// और http:// रेफ़रर स्कीम को ऐसे ही बताएं. अन्य यूआरएल प्रोटोकॉल के लिए, आपको खास तरीके का इस्तेमाल करना होगा. इसके लिए उदाहरण के लिए, file:///path/to/ को इस रूप में फ़ॉर्मैट करें __file_url__//path/to/*. वेबसाइटों को सक्षम करने के बाद, यह सुनिश्चित करने के लिए अपने उपयोग को मॉनिटर करें यह आपकी उम्मीदों के मुताबिक है. ये प्रोटोकॉल इस्तेमाल किए जा सकते हैं: about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://.
    • एपीआई से जुड़ी पाबंदियां:
      1. कुंजी पर पाबंदी लगाएं पर क्लिक करें.
      2. एपीआई चुनें ड्रॉपडाउन से Maps JavaScript API चुनें. अगर सूची में Maps JavaScript API नहीं है, तो आपको चालू करें.
      3. अगर आपके प्रोजेक्ट में जगहों की लाइब्रेरी का इस्तेमाल किया जाता है, तो स्पेस एपीआई भी चुनें. इसी तरह, अगर आपका प्रोजेक्ट JavaScript API में दूसरी सेवाओं का इस्तेमाल करता है (निर्देश सेवा, दूरी का मैट्रिक्स सेवा, ऊंचाई से जुड़ी सेवा और/या जियोकोडिंग सेवा), आपको इस सूची में संबंधित एपीआई को भी चालू और चुनना होगा.
  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="maps-backend.googleapis.com"
    --allowed-referrers="referer"

यहां दी गई, Google Cloud SDK टूल , Cloud SDK टूल इंस्टॉल करना , और ये निर्देश दिए जा सकते हैं:

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

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

<script>
  (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
    key: "YOUR_API_KEY",
    v: "weekly",
    // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
    // Add other bootstrap parameters as needed, using camel case.
  });
</script>