यह IP, साइट या मोबाइल एप्लिकेशन इस API कुंजी का उपयोग करने के लिए अधिकृत नहीं है


100

मैं https://maps.googleapis.com/maps/api/geocode/json का उपयोग कर रहा हूं ? सर्वर कुंजी और उपयोगकर्ता आईपी के साथ लिंक किसी भी पते के अक्षांश और देशांतर को खोजने के लिए, जब मैं कोशिश कर रहा हूं तो मुझे त्रुटि मिल जाएगी

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

PHP CURL के माध्यम से मैं जिस URL तक पहुँचने का प्रयास कर रहा हूँ वह है:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true&key=XXXXXXXXXXXX

जो परिणाम मुझे मिल रहा है:

Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)

क्या ऐसा कुछ है जिसे मुझे कॉन्फ़िगर करने की आवश्यकता है। जियोकोडिंग एपीआई भी चालू है।


आपको Google से एक अधिकृत कुंजी प्राप्त करनी होगी, और इसे
बजे

वहां पहले से ही एक API उपलब्ध कुंजी है
संकेत

माइक द्वारा उत्तर की जाँच करें यह मेरे लिए काम किया
शेराज़ अहमद खिलजी ने

Mike20132013 का उत्तर स्वीकार करें! यह काम करता हैं!
एवेस्चीनी

जवाबों:


150

मेरे पास एक ही मुद्दा था और मैंने यह पाया।

Url पर, इसे अंत में सर्वर कुंजी की आवश्यकता होती है न कि एप के लिए एप की की।

तो मूल रूप से, आप URL के अंत में सर्वर कुंजी इस तरह जोड़ते हैं:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY

अब, सर्वर कुंजी प्राप्त करने के लिए, बस इन चरणों का पालन करें:

1) डेवलपर कंसोल पर जाएं https://code.google.com/apis/console/

2) क्रेडेंशियल में, सार्वजनिक एपीआई एक्सेस के तहत, नई कुंजी बनाएं

3) विकल्प से सर्वर कुंजी का चयन करें।

4) क्षेत्र पर अपना आईपी पता दर्ज करें और यदि आपके पास अधिक आईपी पते हैं, तो आप बस हर एक लाइन पर जोड़ सकते हैं। नोट: IP पता तभी दर्ज करें जब आप इसे अपने परीक्षण उद्देश्य के लिए उपयोग करना चाहते हैं। अन्य IP पता अनुभाग खाली छोड़ दें।

5) एक बार जब आप काम कर लेते हैं, तो बनाएं पर क्लिक करें और आपकी नई सर्वर कुंजी उत्पन्न हो जाएगी और फिर आप उस सर्वर की को अपने URL में जोड़ सकते हैं।

अंतिम बात यह है कि, URL के बीच में सेंसर = true लगाने के बजाय, आप इसे इस तरह अंत में जोड़ सकते हैं:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true

यह निश्चित रूप से समस्या को हल करेगा और इसके लिए सर्वर कुंजी का उपयोग करना याद रखें Places API

संपादित करें

मेरा मानना ​​है कि पिछले वर्षों में वेब URL बदल गया है। आप डेवलपर्स कंसोल को अब यहां से एक्सेस कर सकते हैं - https://console.developers.google.com/apis/dashboard

  • डेवलपर कंसोल पर नेविगेट करें - https://console.developers.google.com/ या एपीआई डैशबोर्ड पर सीधे नेविगेट करने के लिए विवरण से लिंक का उपयोग करें।
  • डेवलपर कंसोल के तहत, बाएं नेविगेशन पैनल से लेबल ढूंढें
  • प्रोजेक्ट का चयन करें
  • बाएं नेविगेशन पैनल से क्रेडेंशियल्स चुनें
  • आप आवश्यक रूप से शीर्ष नौसेना बार से क्रेडेंशियल्स प्रकार बना सकते हैं ।

आशा है कि यह उत्तर आपकी और अन्य दर्शकों की मदद करेगा। शुभ लाभ .. :)


8
बहुत महत्वपूर्ण 4) फ़ील्ड पर अपना आईपी पता दर्ज करें और यदि आपके पास अधिक आईपी पते हैं, तो आप बस हर एक लाइन पर जोड़ सकते हैं। कोई भी: आईपी पते को केवल तब दर्ज करें जब आप इसे अपने परीक्षण उद्देश्य के लिए उपयोग करना चाहते हैं। अन्य IP पता अनुभाग खाली छोड़ दें।
शेराज़ अहमद ख़िलजी

6
यह सही है .. परीक्षण के उद्देश्य के लिए केवल आईपी पता / पते निर्दिष्ट करें। और, खाली छोड़ दो। क्योंकि आप केवल विशिष्ट उपकरणों / ऐप पर काम करने के लिए ऐप या एपी कुंजी को प्रतिबंधित कर रहे हैं।
mike20132013

1
@johnshumon हां मुझे लगता है .. उम्र के जवाब को अपडेट नहीं किया है। कुछ नए एपीआई परिवर्तन हो सकते हैं।
mike20132013

1
मई यह भी सुनिश्चित करना चाहता हूं कि Google स्थल एपीआई वेब सेवा एक सक्षम एपीआई के रूप में अच्छी तरह से है
जस्टिन विल्सन

1
यह पता लगाने से पहले घंटों के लिए कि यह "नया प्रोजेक्ट" अब Google API के लिए Google क्लाउड बिलिंग खाते से जुड़ा होना चाहिए ताकि इन विभिन्न सामान्य त्रुटियों को रोका जा सके। थ्रेसहोल्ड को $ 0 में सेट किया जा सकता है, इसलिए यदि शुल्क अनुमत कोटा से अधिक हो तो आपसे कभी शुल्क नहीं लिया जाएगा।
स्पार्कली

15
  1. कुंजी चुनें
  2. एपीआई प्रतिबंध टैब
  3. एपीआई कुंजी चुनें
  4. सहेजें
  5. एप्लिकेशन प्रतिबंध चुनें -> कोई नहीं
  6. सहेजें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें


मैं कुछ सेवाओं को एपीआई प्रतिबंधों में सूचीबद्ध करता था लेकिन जियोकोडिंग नहीं
मुहम्मद उमर

एक जादू की तरह काम किया। धन्यवाद जियोकोडिंग की कोशिश कर रहा था। जैसा कि आपने बताया कि मैंने ऐप प्रतिबंधों को सेट किया है और यह काम किया है।
रवि

4
प्रतिबंध: कोई भी बहुत खतरनाक नहीं है।
डेनिस एम।

8
सुरक्षा अक्षम करना कोई हल नहीं है!
बार्थोलोमेज

एपीआई कुंजी छोड़ दिया नहीं है! नए "प्रोजेक्ट" को अब Google API के लिए इन विभिन्न सामान्य त्रुटियों को रोकने के लिए बिलिंग खाते से जोड़ा जाना चाहिए। थ्रेशोल्ड को $ 0 में सेट किया जा सकता है, इसलिए यदि शुल्क अनुमत कोटा से अधिक हो तो आपसे कभी शुल्क नहीं लिया जाएगा।
स्पार्कली

14

आपके द्वारा सौंपी गई एपीआई कुंजी के अलावा, Google REFERRERया तो या आईपी पते को देखकर आने वाले अनुरोध के स्रोत को भी सत्यापित करता है । कर्ल में एक उदाहरण चलाने के लिए, Google एपीआई कंसोलServer Key में एक नया बनाएं । इसे बनाते समय, आपको सर्वर का आईपी पता प्रदान करना होगा। इस मामले में, यह आपका स्थानीय आईपी पता होगा । एक बार जब आप एक बनाया हैServer Key अपना आईपी पता बना और श्वेत सूची बना लेते हैं, तो आपको कर्ल में नई एपीआई कुंजी का उपयोग करने में सक्षम होना चाहिए।

मेरा अनुमान है कि आपने संभवतः अपनी एपीआई कुंजी बनाई है Browser Keyजिसके लिए आपको अपने आईपी पते को श्वेतसूची में रखने की आवश्यकता नहीं है, लेकिन इसके बजाय REFERRERसत्यापन के लिए HTTP हेडर टैग का उपयोग करता है । कर्ल इस टैग को डिफ़ॉल्ट रूप से नहीं भेजता है, इसलिए Google आपके अनुरोध को मान्य करने में विफल रहा है।


1+ Google की जियोकोड सेवा का उपयोग करने के लिए सर्वर एपीआई कुंजी बनाने की आवश्यकता होगी। इसके अलावा Google के Google कंसोल को Google के एपीआई कंसोल से सक्षम करने की आवश्यकता है .. धन्यवाद !!
सुमित मुनोट

यह पता लगाने से पहले घंटों के लिए कि यह "नया प्रोजेक्ट" अब Google API के लिए Google क्लाउड बिलिंग खाते से जुड़ा होना चाहिए ताकि इन विभिन्न सामान्य त्रुटियों को रोका जा सके। थ्रेशोल्ड को $ 0 में सेट किया जा सकता है, इसलिए यदि शुल्क अनुमत कोटा से अधिक हो तो आपसे कभी शुल्क नहीं लिया जाएगा।
स्पार्की

6

Google Places API वर्तमान में Google API कंसोल से उत्पन्न Android या iOS कुंजी का समर्थन नहीं करता है। वर्तमान में केवल सर्वर और ब्राउज़र कुंजियाँ समर्थित हैं।


1
दिलचस्प ... तो एंड्रॉइड या आईओएस ऐप में उपयोग के लिए एक कुंजी कैसे उत्पन्न होती है?
ग्राहम पर्क्स

आपकी ब्राउज़र कुंजियाँ Android और iOS में काम करेंगी। Google API कंसोल में ब्राउज़र कीज़ प्राप्त करें
Nazrul Islam

वे कुछ अतिरिक्त प्रयास के बिना नहीं करते हैं। मैंने कल ही एक निराशा भरे दिन के बाद यह पता लगाया; ऐप्स के लिए एक अतिरिक्त कदम है: stackoverflow.com/a/58136437/434004
ग्राहम पर्क

3

आप एक एपीआई कुंजी का उपयोग करने की कोशिश कर रहे हैं जिसे आपने इस तरह से प्रतिबंधित किया है जो इस कार्रवाई की अनुमति नहीं देगा।

Google के अनुसार:

Note: If you need to call web, web service, and/or mobile APIs from the same (client-side) app, create and restrict multiple keys.

इसलिए सही बात यह है कि एक और एपीआई कुंजी बनाएं, और इस मामले के लिए सही प्रतिबंध चुनें। आपके मामले में, "आईपी पते" ("एप्लिकेशन प्रतिबंध" के तहत) चुनें, और अपने सर्वर आईपी को जोड़ने के लिए "ADD AN ITEM" का उपयोग करें। ध्यान दें कि रिक्त सूची छोड़ने से काम नहीं चलेगा, और परिणामस्वरूप Google आपके प्रतिबंधों को "कोई नहीं" में बदल देगा।

इसके अलावा, "एपीआई प्रतिबंध" (आपके मामले में "जियोकोडिंग एपीआई") के तहत प्रासंगिक एपीआई को जोड़ना न भूलें।

एक अंतिम चीज़ - जब तक आप अपने ऐप को Google क्लाउड बिलिंग खाते से लिंक नहीं करते Google इस API के उपयोग को रोक रहा है। इसलिए यदि आपने इसे अभी तक नहीं किया है, तो एक बार जब आप सफलतापूर्वक प्रतिक्रिया प्राप्त कर लेंगे, तो यह कहेगा कि आपको इसे पहले करना होगा (यह एक निशुल्क शुरुआती पैकेज है)।


2

आप रेफरर के साथ एक कुंजी बनाते हैं न कि रेफरर एड्रेस डालें


क्या आप विस्तृत रूप से बता सकते हैं
सागर देवांग

2
रेफरर एड्रेस को जोड़ने के लिए आपके पास कुंजी बनाते समय कृपया जाँच करें कि आपने वहाँ कुछ जोड़ा था। अगर यह जोड़ा गया है
डेडलॉइड

2

Google प्लेस API को API कॉल करते समय संदर्भित HTTP हेडर को शामिल करने की आवश्यकता होती है।

HTTP शीर्ष लेख "रेफ़र: yourdomain.com" को शामिल करें और इस पर प्रतिक्रिया समस्याओं को ठीक करना चाहिए।


1
हालांकि यह इस सवाल का जवाब दे सकता है कि आप क्या कर रहे हैं, यह समझाने के लिए अपने जवाब में कुछ पाठ डालना हमेशा एक अच्छा विचार है। एक अच्छा उत्तर लिखने का तरीका पढ़ें । साथ ही, आपको कुछ कोड शामिल करने चाहिए।
जोर्जेन आर

क्या आप एक स्निपेट प्रदान कर सकते हैं
सागर देवंगा

यहाँ मैंने क्या किया है, और यह पूरी तरह से काम करता है: var विकल्प = {url: url, हेडर: {Referer: ' xxx.herokuapp.com '}}; request.get (विकल्प, फंक्शन (...
फ्लोरिडा जी।

1

इसके अलावा संबंधित एपीआई दिए गए प्रोजेक्ट के लिए सक्षम होना चाहिए

https://console.developers.google.com/apis/library?project=projectnamehere


1

एपीआई के नवीनतम संस्करण के लिए मेरे लिए सटीक विपरीत लगता है।

Url को कॉल करते समय https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key>मुझे निम्न त्रुटि हो रही थी

Google मानचित्र प्लेटफ़ॉर्म API के लिए प्रत्येक अनुरोध को प्रमाणित करने के लिए आपको एक एपीआई कुंजी का उपयोग करना चाहिए। अतिरिक्त जानकारी के लिए, कृपया http://g.co/dev/maps-no-account देखें

एक बार मैंने ऑर्डर को स्विच किया https://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address> इसे किया तो यह ठीक काम कर गया।

ध्यान दें कि ऊपर प्राप्त त्रुटि संदेश वह संदेश था जो मुझे सीधे ब्राउज़र में URL पर जाते समय मिला था। जब मैंने एक सॉफ्टवेयर प्रोग्राम से एपीआई कॉल किया तो मुझे मूल रूप से निम्न संदेश के साथ एक HTML प्रतिक्रिया मिली:

हमें खेद है ... लेकिन आपका कंप्यूटर या नेटवर्क स्वचालित क्वेरी भेज सकता है। अपने उपयोगकर्ताओं की सुरक्षा के लिए, हम अभी आपके अनुरोध को संसाधित नहीं कर सकते हैं।


यह पता लगाने से पहले घंटों के लिए कि यह "नया प्रोजेक्ट" अब Google API के लिए Google क्लाउड बिलिंग खाते से जुड़ा होना चाहिए ताकि इन विभिन्न सामान्य त्रुटियों को रोका जा सके। थ्रेशोल्ड को $ 0 में सेट किया जा सकता है, इसलिए यदि शुल्क अनुमत कोटा से अधिक हो तो आपसे कभी शुल्क नहीं लिया जाएगा।
स्पार्कली

0

IOS या Android ऐप्स के लिए, कुंजी को एक अतिरिक्त विशेषाधिकार दिए जाने की आवश्यकता है।

Google कंसोल -> API और सेवाओं -> लाइब्रेरी पर जाएं। अपने प्लेटफ़ॉर्म के लिए स्थान लाइब्रेरी टैप करें और फिर सक्षम करें टैप करें।

Https://developers.google.com/maps/gmp-get-started#enable-api-sdk देखें


0

प्रमाणीकरण, कोटा, मूल्य निर्धारण, और नीतियां प्रमाणीकरण एपीआई का उपयोग करने के लिए, आपको पहले एपीआई को सक्षम करना होगा और उचित प्रमाणीकरण क्रेडेंशियल प्राप्त करना होगा। अधिक जानकारी के लिए, Google मानचित्र प्लेटफ़ॉर्म के साथ आरंभ करें देखें।

कोटा और मूल्य निर्धारण दिशा निर्देशों के लिए कोटा और मूल्य निर्धारण के विवरण के लिए उपयोग और बिलिंग पृष्ठ की समीक्षा करें।

नीतियाँ दिशाओं का उपयोग एपीआई एपीआई नीतियों के अनुसार होना चाहिए।

अधिक जानकारी: यात्रा: --- https://developers.google.com/maps/documentation/directions/start?hl=hi_US


-2
  url = https://maps.googleapis.com/maps/api/directions/json?origin=19.0176147,72.8561644&destination=28.65381,77.22897&mode=driving&key=AIzaSyATaUNPUjc5rs0lVp2Z_spnJle-AvhKLHY

जैसे AppDelegate में ही जोड़ें

            GMSServices.provideAPIKey("AIzaSyATaUNPUjc5rs0lVp2Z_spnJle-AvhKLHY")

और इस यूआरएल में कुंजी को हटा दें।

अब url है

https://maps.googleapis.com/maps/api/directions/json?origin=19.0176147,72.8561644&destination=28.65381,77.22897&mode=driving

-3

दिशा एपीआई और जियोकोडिंग एपि और फिर से सक्षम दोनों को अक्षम करें।

यह केवल 5-10 सेकंड के लिए काम करता है और स्वतः ही अक्षम हो जाता है।

इसका मतलब है कि आपके पास असाइनमेंट का परीक्षण करने के लिए केवल 5-10 सेकंड हैं।

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