15

Google API (gapi) को ऑथ अनुरोध करते समय, यह चेकऑरिगिन पर झूठी वापसी कर रहा है।Google API प्रमाणीकरण: क्लाइंट के लिए मान्य मूल नहीं

मैंने किसी भी ग्राहक आईडी या कुछ भी हटा दिया है जो सीधे मेरे खाते से लिंक होगा और इसे रेगेक्स के साथ बदल देगा जो दर्शाता है कि डेटा संदर्भ के लिए क्या है।

यूआरएल: https://accounts.google.com/o/oauth2/iframerpc?action=checkOrigin&origin=https%3A%2F%2Flocal.tools&client_id=(\d{21})

मेरे मूल यूआरएल है एक स्थानीय यूआरएल है, जो https://local.tools

परिणाम: {valid: false}

(साथ clientid की जगह के अलावा मैं उदाहरण के विचलन के बिना यहां पाया उपयोग कर रहा हूँ मेरी 21 अंक क्लाइंटिड): https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/

जो आइटम मैं प्रदर्शित करने की कोशिश कर रहा हूं वह डेमो साइट पर अच्छी तरह से दिखाई देता है, लेकिन मान्य नहीं है n मेरी स्थानीय .tools साइट पर क्लाइंट त्रुटि के लिए।

+0

और "https://local.tools" एपीआई कंसोल में कॉन्फ़िगर किया गया है और आपका स्थानीय सर्वर पोर्ट 80 पर चल रहा है? अपने डेमो साइट यूआरएल को 127.0.0.1 पर इंगित करने के लिए अपने/etc/hosts को संपादित करने का प्रयास करें और देखें कि क्या होता है। – pinoyyid

+0

कुछ भी अच्छा नहीं होगा क्योंकि मेरा विकास पर्यावरण 127.0.0.1 पर नहीं है। यह कोई फर्क नहीं पड़ता कि यह किस पोर्ट पर चल रहा है। इसका उपयोग बंदरगाह 80 के अलावा अन्य बंदरगाहों पर भी किया जा सकता है। –

उत्तर

23

मैं जब इस उदाहरण के साथ काम करने में एक ही कंसोल त्रुटि संदेश प्राप्त हुआ: https://developers.google.com/analytics/devguides/reporting/embed/v1/getting-started

प्रलेखन दो महत्वपूर्ण चरणों की अनदेखी नहीं ("आप निर्देशों के माध्यम से जाने के रूप में, यह महत्वपूर्ण है कि आप इन दो महत्वपूर्ण चरणों की अनदेखी नहीं कहते हैं : Analytics API सक्षम करें [&] सही उत्पत्ति सेट करें "), लेकिन सही उत्पत्ति को सेट करने के लिए स्पष्ट रूप से यह नहीं कहता है।

चूंकि क्लाइंट आईडी मैं काम नहीं कर रहा था, इसलिए मैंने एक नई परियोजना और एक नई ग्राहक आईडी बनाई। नई परियोजना आवश्यक नहीं हो सकती है, लेकिन मैं इसे बनाए रख रहा हूं (और इसका उपयोग कर रहा हूं)। (इस पृष्ठ के नीचे तक स्क्रॉल करें सुनिश्चित करें कि यह एक OAuth क्रेडेंशियल है -

क्रेडेंशियल्स के निर्माण के दौरान, आप ", प्रतिबंध जावास्क्रिप्ट मूल दर्ज यूआरआई रीडायरेक्ट, या दोनों" नामक अनुभाग दिखाई देगा। यह वह जगह है जहां आप अपनी उत्पत्ति दर्ज कर सकते हैं।

अपनी ग्राहक आईडी (और गुप्त) को सहेजें और कॉपी करें।

मेरी स्क्रिप्ट ने काम करने के बाद नया ओयूयूटी प्रमाण पत्र बनाया, मूल को सौंपा, और इस प्रक्रिया के बाद नव उत्पन्न क्लाइंट आईडी का उपयोग किया।

+1

हां, यही वही था जो मुझे चाहिए था। धन्यवाद! ऐसा लगता है कि यह अब स्पष्ट होना चाहिए, लेकिन दस्तावेज़ों का पालन करना थोड़ा मुश्किल है। –

+0

यदि मैं स्थानीयहोस्ट के साथ परीक्षण करता हूं, तो मैं वहां ओथ कैसे जोड़ सकता हूं? उदाहरण के लिए यदि मुझे http: // localhost: 9000/en/login –

+0

तक पहुंचने की आवश्यकता है तो आपको oAuth कॉलबैक के बारे में चिंता करने की आवश्यकता नहीं है। जब आप दिए गए उदाहरण का उपयोग करते हैं, तो एक छोटा सा बटन होता है जो "google प्रमाणीकरण" की रेखाओं के साथ कुछ कहता है या मुझे याद नहीं है। लेकिन यह वहां है और आप उस पर क्लिक करते हैं और एक पॉपअप विंडो प्रमाणीकृत करने के लिए आता है। मूल में मेरा डोमेन जोड़ना मुझे सर्वर पर उदाहरण अपलोड करने के बाद, करने की आवश्यकता है। मुझे मूल डोमेन में सर्वर यूआरएल जोड़ना पड़ा। –

2

मेरे लिए - मैं तो बस यहां से चला गया:

https://console.developers.google.com/apis/credentials

फिर सही परियोजना चुना है; फिर अपने कंसोल त्रुटि संदेश में दिखाए गए एक ही आईडी के साथ प्रमाण पत्र चुनें। क्रेडेंशियल्स को संपादित करते समय आप सफेद सूची में एकाधिक मूल जोड़ सकते हैं।

2

एपीआई सक्षम नहीं होने पर प्रमाण-पत्र काम नहीं करते हैं।मेरे मामले में अगले चरणों के जरूरत थी:

  1. जाओ https://console.developers.google.com/apis/library
  2. दर्ज 'लोग'
  3. परिणाम 'Google लोग API'
  4. 'सक्षम'
3
क्लिक करें का चयन करने के लिए

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

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