Google Maps Platform के प्रॉडक्ट को बिना अनुमति के इस्तेमाल होने से सुरक्षित रखने के लिए, एपीआई कॉल पर पाबंदी लगाई जाती है. यह पाबंदी, पुष्टि करने के लिए सही क्रेडेंशियल देने वाले लोगों पर लगाई जाती है. ये क्रेडेंशियल, एपीआई पासकोड के तौर पर होते हैं. यह एक यूनीक अल्फ़ान्यूमेरिक स्ट्रिंग होती है, जो आपके Google बिलिंग खाते को आपके प्रोजेक्ट और किसी खास एपीआई या SDK से जोड़ती है.
इस गाइड में, Google Maps Platform के लिए एपीआई पासकोड बनाने, उस पर पाबंदी लगाने, और उसका इस्तेमाल करने का तरीका बताया गया है.
शुरू करने से पहले
Maps JavaScript API का इस्तेमाल शुरू करने से पहले, आपके पास ऐसा प्रोजेक्ट होना चाहिए जिसमें बिलिंग खाता और Maps JavaScript API चालू हो. ज़्यादा जानने के लिए, Cloud Console में सेट अप करना लेख पढ़ें.
एपीआई पासकोड बनाना
एपीआई पासकोड एक यूनीक आइडेंटिफ़ायर होता है. इसका इस्तेमाल, आपके प्रोजेक्ट से जुड़े अनुरोधों की पुष्टि करने के लिए किया जाता है. आपके पास अपने प्रोजेक्ट से जुड़ी कम से कम एक एपीआई कुंजी होनी चाहिए.
एपीआई पासकोड बनाने के लिए:
कंसोल
-
Google Maps Platform > क्रेडेंशियल पेज पर जाएं.
-
क्रेडेंशियल पेज पर, क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें.
एपीआई पासकोड बनाया गया डायलॉग बॉक्स में, आपका नया एपीआई पासकोड दिखता है. -
बंद करें पर क्लिक करें.
नया एपीआई पासकोड, क्रेडेंशियल पेज पर एपीआई पासकोड में दिखता है.
(प्रोडक्शन में इस्तेमाल करने से पहले, एपीआई पासकोड पर पाबंदी लगाना न भूलें.)
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Google Cloud SDK , Cloud SDK टूल इंस्टॉल करने , और इन निर्देशों के बारे में ज़्यादा पढ़ें:
एपीआई पासकोड पर पाबंदी लगाना
Google का सुझाव है कि आप अपनी एपीआई कुंजियों पर पाबंदी लगाएं. इसके लिए, उनका इस्तेमाल सिर्फ़ उन एपीआई के लिए सीमित करें जो आपके ऐप्लिकेशन के लिए ज़रूरी हैं. एपीआई पासकोड पर पाबंदी लगाने से, आपके ऐप्लिकेशन को ग़ैर-ज़रूरी अनुरोधों से सुरक्षित रखने में मदद मिलती है. ज़्यादा जानकारी के लिए, एपीआई की सुरक्षा के सबसे सही तरीके देखें.
किसी एपीआई पासकोड पर पाबंदी लगाने के लिए:
कंसोल
-
Google Maps Platform > क्रेडेंशियल पेज पर जाएं.
- वह एपीआई कुंजी चुनें जिस पर आपको पाबंदी सेट करनी है. एपीआई कुंजी प्रॉपर्टी का पेज दिखता है.
- मुख्य पाबंदियां में जाकर, ये पाबंदियां सेट करें:
- ऐप्लिकेशन से जुड़ी पाबंदियां:
- आपने जो वेबसाइटों की सूची दी है उनसे मिलने वाले अनुरोध स्वीकार करने के लिए, ऐप्लिकेशन पर लगी पाबंदियों की सूची में जाकर, एचटीटीपी के रेफ़रल देने वाले (वेबसाइटें) चुनें.
- एक या उससे ज़्यादा रेफ़रर वेबसाइटें डालें. सभी सबडोमेन को अनुमति देने के लिए, वाइल्डकार्ड
वर्णों का इस्तेमाल किया जा सकता है. उदाहरण के लिए, एचटीटीपीएस से ऐक्सेस करने पर,
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://
. - एपीआई से जुड़ी पाबंदियां:
- कुंजी पर पाबंदी लगाएं पर क्लिक करें.
- API चुनें ड्रॉपडाउन से, Maps JavaScript API चुनें. अगर Maps JavaScript API की सुविधा सूची में नहीं है, तो आपको इसे चालू करना होगा.
- अगर आपका प्रोजेक्ट, Places लाइब्रेरी का इस्तेमाल करता है, तो Places API भी चुनें. इसी तरह, अगर आपका प्रोजेक्ट JavaScript API की अन्य सेवाओं का इस्तेमाल करता है, तो आपको इस सूची में मौजूद उन एपीआई को भी चालू करना होगा और चुनना होगा. जैसे, निर्देश देने वाली सेवा, दूरी का मैट्रिक्स बताने वाली सेवा, ऊंचाई बताने वाली सेवा, और/या जियोकोडिंग सेवा.
- अपने बदलावों को लागू करने के लिए, सेव करें पर क्लिक करें.
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>