2012-07-04 23 views
16

के लिए सही रीडायरेक्ट यूआरआई मैं Google मानचित्र API के साथ एक एप्लिकेशन बना रहा हूं। मैं एक व्यक्ति को कंप्यूटर पर रखने में सक्षम होना चाहता हूं, देखें कि किसी अन्य व्यक्ति ने मानचित्र पर क्या संपादित किया है। मैं Google फ्यूजन टेबल पर मानचित्र की जानकारी पास करने की सोच रहा हूं। दूसरा व्यक्ति एक परत के रूप में सब कुछ देखने में सक्षम हो जाएगा। मैं प्रोग्राम के लिए सिर्फ उपयोगकर्ता के ब्राउज़र से भागना चाहता हूं और इसके लिए वेबसाइट नहीं बनाना चाहता हूं।Google API और oauth 2.0

फ़्यूज़न टेबल को संपादित करने के लिए, मुझे एक्सेस/टोकन प्राप्त करने की आवश्यकता है। मैं वर्तमान में इसे पूरा करने के लिए इन जावास्क्रिप्ट स्क्रिप्ट का उपयोग करने की कोशिश कर रहा हूं। ScriptSample.html, oauthWindow.html, और gwt-oauth2.js। यह working example है।

जब मैं उन्हें चलाता हूं, तो मुझे त्रुटि मिलती है जो कहता है कि redirect_URI गलत है। यह कहता है कि मैं जिस फ़ाइल को रीडायरेक्ट करने के लिए उपयोग करता हूं वह अधिकार नहीं है। मेरा पहला स्पष्ट सवाल यह है कि: मैं उस फ़ाइल प्राधिकरण को पुनर्निर्देशित करने के लिए कैसे दे सकता हूं?

मेरे एपीआई कंसोल में, मैंने इसे क्लाइंट-साइड वेब एप्लिकेशन के रूप में स्थापित किया है। क्या मुझे इसे एक स्थापित एप्लिकेशन में बदलना चाहिए?

वर्तमान में, मेरी जावास्क्रिप्ट मूल है: https: // स्थानीय होस्ट

अनुप्रेषित यूआरआई: https: //localhost/oauthWindow.html

धन्यवाद

+2

क्या आप स्थानीयहोस्ट-आधारित कॉलबैक यूआरआई का उपयोग कर गंभीर हैं? इसका मतलब है कि ओथ सर्वर को खुद को प्रतिक्रिया भेजनी चाहिए, जो अर्थहीन है। आपको निश्चित रूप से बाहरी नेटवर्क से कुछ यूआरएल सुलभ उपयोग करना चाहिए। –

+2

क्षमा करें, मैं गलत था, मुझे खुद को सही करना है। कॉलबैक यूआरआई का उपयोग केवल आपके ब्राउज़र को प्राधिकरण के परिणाम के साथ रीडायरेक्ट करने के लिए किया जाता है, इस प्रकार एक स्थानीयहोस्ट-आधारित कॉलबैक यूआरआई सिद्धांत में काम कर सकता है। दूसरी ओर, इसमें गंभीर सुरक्षा समस्याएं हैं, जिससे पूरे कॉलबैक यूआरआई जांच विधि को व्यर्थ बना दिया गया है। नतीजतन, आपको अभी भी एक बाहरी रूप से सुलभ कॉलबैक प्रदान करना चाहिए। –

+0

मुझे इसके साथ भी समस्याएं हैं। कुछ सुपर-अजीब कारणों से Google ने निर्णय लिया है कि मेरा रीडायरेक्ट यूआरएल, जो 'https: // something' है' को http: // something' में परिवर्तित किया जाना चाहिए। यह भयानक है क्योंकि मेरे सर्वर के पास एसएसएल/https के लिए सख्त आवश्यकता है, कोई अपवाद नहीं है। – Automatico

उत्तर

12

के लिए एक स्थानीय होस्ट यूआरएल उपयोग करने के साथ कोई समस्या नहीं है देव काम - जाहिर है जब उत्पादन की बात आती है तो इसे बदलने की जरूरत है।

आपको यहां जाना होगा: https://developers.google.com/accounts/docs/OAuth2 और उसके बाद एपीआई कंसोल के लिंक का पालन करें - लिंक मूल चरणों अनुभाग में है। जब आप नया आवेदन फॉर्म भर चुके हैं तो आपको एक रीडायरेक्ट यूआरएल प्रदान करने के लिए कहा जाएगा। उस पृष्ठ पर रखें जिसे आप एक बार पहुंचने के लिए जाना चाहते हैं।

Google oAuth Url बनाने के दौरान - आपको रीडायरेक्ट यूआरएल शामिल करने की आवश्यकता है - इसे सटीक मिलान होना चाहिए या आपको समस्याएं होनी चाहिए। इसे UrlEncoded भी होना चाहिए।

+0

इसलिए यदि मैं स्थानीय पर होस्ट किए गए किसी पृष्ठ पर रीडायरेक्ट करना चाहता हूं, तो कहें - लोकलहोस्ट: 90 9 0/index.html क्या मैं यह सटीक यूआरएल देता हूं? – moaglee

+1

@mystikacid हां। आपको 'http: // '(प्रोटोकॉल) भाग भी शामिल करना होगा – PSWai

संबंधित मुद्दे