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