Googlemaps लोकलहोस्ट के लिए एपीआई कुंजी


94

मुझे लोकलहोस्ट पर काम करने के लिए googlemaps एपीआई कुंजी कैसे मिलनी चाहिए?

मैंने एक एपीआई कुंजी बनाई है और संदर्भित करने वालों के तहत मैं निम्नलिखित जोड़ता हूं:

Accept requests from these HTTP referrers (websites) (Optional)

Use asterisks for wildcards. If you leave this blank, requests will be 
accepted from any referrer. Be sure to add referrers before using this key 
in production. 

localhost

यह काम नहीं करता है और अगर मैं एपीआई कुंजी को बाहर नहीं करता हूं तो यह भी काम नहीं करता है?


जवाबों:


138
  1. इस पते पर जाएं : https://console.developers.google.com/apis
  2. अपने प्रोजेक्ट के लिए एक एपीआई कुंजी बनाएं
  3. "लाइब्रेरी" पर क्लिक करें
  4. किसी भी एपीआई पर क्लिक करें जो आप चाहते हैं
  5. "सक्षम करें" पर क्लिक करें (शीर्ष दाएं)
  6. "क्रेडेंशियल्स"> "एडिट की" पर क्लिक करें
  7. "मुख्य प्रतिबंध" के तहत, "HTTP रेफ़रर्स (वेब ​​साइट)" चुनें
  8. पाठ क्षेत्र में अपनी वेबसाइट का पता (या "लोकलहोस्ट", "127.0.0.1", "लोकलहोस्ट: पोर्ट" आदि टाइप करें) और ENTERसूची में जोड़ने के लिए दबाएं
  9. अपनी परियोजना में अपनी कुंजी का उपयोग करें

9
यह वही है जो मैंने भी किया था, लेकिन मुझे आश्चर्य है कि इसका मतलब यह है कि स्थानीय स्तर पर काम करने वाला कोई भी व्यक्ति (लोकलहोस्ट / 127.0.0.1) मेरे एपीआई कुंजी का उपयोग कर सकता है (और संभवतः 2018-06-11 को नए मूल्य निर्धारण के बाद मेरे लिए अनुमानित लागत लग सकती है। ?)
tmanolatos

35
@tmanolatos हां, इसका यही मतलब है। अपने प्रोडक्शन की लोकलहोस्ट राइट्स देना अच्छा नहीं है, क्योंकि कोई भी लोकल रन करते समय आपकी चाबी का इस्तेमाल कर सकता है। इसके बजाय आपको दो चाबियां रखनी चाहिए। उत्पादन के लिए एक जो किसी के द्वारा देखा जा सकता है और इसलिए केवल आपके डोमेन पर अनुमति दी जानी चाहिए। विकास के लिए एक जिसे साख के रूप में माना जाना चाहिए (इसे साझा न करें) और लोकलहोस्ट से एक्सेस की अनुमति देता है।
the_cheff

2
@tmanolatos हां, लेकिन आपको दो कुंजी का निर्माण करना चाहिए, एक परीक्षण ऐप और एक मुख्य ऐप के लिए,
सजाद मिर्ज़ई

उपरोक्त चरणों का पालन करने के बाद मुझे यह प्रतिक्रिया मिल रही है: {"error_message": "संदर्भ कुंजी के साथ API कुंजियों का उपयोग इस API के साथ नहीं किया जा सकता है।", "परिणाम": [], [], "स्थिति": "REQUEST_DENIED"} यहां URL है , जहां DEV_KEY को मेरी एपीआई कुंजी के साथ प्रतिस्थापित किया गया है: maps.googleapis.com/maps/api/geocode/…
rmutalik

जब मैं अपने PROD_KEY एपीआई कुंजी का उपयोग करता हूं तो यह JSON को सही बनाता है।
रुमतालिक

12

आप इस तरह से फॉलो कर सकते हैं। यह मेरे लिए कम से कम काम करता है:

क्रेडेंशियल पेज में:

  1. आईपी ​​पते के साथ विकल्प चुनें (विकल्प संख्या 3)।

  2. अपने प्रदाता से अपना आईपी पता डालें। यदि आप ऐसा नहीं करते हैं, तो इस लिंक का उपयोग करके अपना आईपी पता खोजें: https://www.google.com/search?q=my+ip

  3. बचाओ।

  4. अपने Google मानचित्र लिंक को परिवर्तन टैग के बीच अनुसरण के रूप में बदलें:

    https://maps.googleapis.com/maps/api/js?lbooks=places&key=AIzxxxxxxxx "

  5. अपनी API कुंजी को प्रचारित करने के लिए लगभग 5 मिनट या उससे अधिक प्रतीक्षा करें।

अब आपका google map काम करना चाहिए।


9

यदि आप लोकलहोस्ट पर काम कर रहे हैं, तो अपने विकास के लिए एक अलग APIkey बनाएं और फिर उस कुंजी पर प्रतिबंध हटा दें ताकि आपकी लोकलहोस्ट उसका उपयोग कर सके। उत्पादन पर इस कुंजी का उपयोग न करने के लिए याद रखें, ताकि आप ऑनलाइन शिकारी को अपनी कुंजी उजागर न करें।

मेरे पास एक ही मुद्दा था और मेरे स्थानीयहोस्ट पर्यावरण पर काम कर रहे प्रतिबंधों को प्राप्त करने के सभी प्रयास तब तक सफल नहीं हुए जब तक कि मैंने विशेष रूप से विकास के लिए एक अलग माफी नहीं बनाई और फिर अपने प्रतिबंध हटा दिए। हालाँकि, मैं उत्पादन वातावरण पर उस कुंजी का उपयोग नहीं करता हूं, और एक बार घटनाक्रम के साथ कर लेने के बाद, मैं तुरंत एपीआई कुंजी को हटा दूंगा।

मुझे पता है कि यह पोस्ट देर से है, लेकिन उन लोगों के लिए जो भविष्य में इस मुद्दे का सामना करेंगे, यह जाने का सबसे अच्छा मार्ग है।


5

लगता है कि मैं पार्टी के लिए थोड़ा लेट हो गया हूं, और हालांकि मैं मानता हूं कि विकास (लोकलहोस्ट) और उत्पाद के लिए एक अलग कुंजी बनाने के लिए केवल 1 कुंजी में दोनों करना संभव है।

जब आप एप्लिकेशन प्रतिबंधों का उपयोग करते हैं -> http रेफ़रर्स -> वेबसाइट प्रतिबंध आप वाइल्डकार्ड यूआरएल में प्रवेश कर सकते हैं।

हालाँकि .localhost जैसे वाइल्डकार्ड का उपयोग करना / या .localhost: {} बंदरगाह। (जब पहले से ही है .yourwebsite.com / * ) काम करने के लिए प्रतीत नहीं होता है।

सिर्फ एक * डालने से काम चल जाता है लेकिन यह मूल रूप से आपको एक असीमित कुंजी देता है जो वह नहीं है जो आप चाहते हैं।

जब आप वाइल्डकार्ड का उपयोग करके पूर्ण पथ को शामिल करते हैं * तो यह भी काम करता है, इसलिए मेरे मामले में:

http: // localhost {port} /
http: // localhost : {port} / something-else / here

Google के नक्शे www.yourwebsite.com पर समान API कुंजी का उपयोग करके दोनों स्थानीय काम करते हैं।

वैसे भी जब 2 अलग कुंजी होने भी एक विकल्प है जो मैं ऐसा करने की सलाह दूंगा।


1

आप लोकलहोस्ट पर परीक्षण के लिए Google मानचित्र का उपयोग कैसे करें, इस ट्यूटोरियल का अनुसरण कर सकते हैं ।

इन संबंधित एसओ धागे की जाँच करें:

उम्मीद है की यह मदद करेगा!


2
टूटी हुई कड़ी है
राफेल हर्सकोविसी


@AEGrey - मेरे लिए नहीं, भविष्य के उपयोगकर्ताओं के लिए।
राफेल हर्स्कोविसी

1

आपको जावास्क्रिप्ट कंसोल के भीतर विशिष्ट त्रुटि (जैसे विंडोज के लिए फ़ायरफ़ॉक्स में Ctrl+ Shift+ K) की जांच करनी होगी ।

स्टीवन ग्लिबे (2016) के अनुसार , इस समस्या के चार सामान्य मामले हैं। अगर मैं इसे संक्षेप में बता सकता हूँ, इस प्रकार है:

  1. MissingKeyMapError >> Google मानचित्र API कुंजी प्राप्त करें (लेकिन वैकल्पिक नंबर 2 पर भी विचार करें)
  2. RefererNotAllowedMapError >> अपना स्थानीयहोस्ट करें : अपने Google डेवलपर डैशबोर्ड में पोर्ट करें ।
  3. ApiNotActivatedMapError >> Google API लाइब्रेरी पेज में Google मैप्स एपीआई को सक्षम करना
  4. InvalidKeyMapError >> अपनी कुंजी को अपनी स्क्रिप्ट / कोड में ठीक से जोड़ें

कुछ कोड संशोधन करने के बाद, कृपया अपना ब्राउज़र कैश आवश्यक रूप से साफ़ करें।

यदि अन्य त्रुटियां हैं, तो आप Google मानचित्र API त्रुटि कोड्स दस्तावेज़ पृष्ठ देख सकते हैं।


0

जहाँ यह कहता है कि "इन HTTP रैफरर्स (वेबसाइटों) (वैकल्पिक) से अनुरोध स्वीकार करें" आपको किसी भी रेफरर को सूचीबद्ध करने की आवश्यकता नहीं है। इसलिए इस पेज पर लोकलहोस्ट के बगल में स्थित X पर क्लिक करें लेकिन अपनी कुंजी का उपयोग जारी रखें।

इसके बाद कुछ मिनटों के बाद काम करना चाहिए।

किए गए परिवर्तनों को प्रभावी होने में कभी-कभी कुछ मिनट लग सकते हैं इसलिए दोबारा परीक्षण करने से कुछ मिनट पहले प्रतीक्षा करें।


0

Google खोज में 'अपना आईपी' टाइप करने पर मुझे अपना सार्वजनिक आईपी पता मिला और इसे आईपी पते (तीसरे विकल्प) में चिपकाया। इससे मेरा काम बनता है।


0

Google खोज में 'अपना आईपी' टाइप करने पर मुझे अपना सार्वजनिक आईपी पता मिला और इसे आईपी पते (तीसरे विकल्प) में चिपकाया। इससे मेरा काम बनता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.