emacs मुझे Google एपीआई API का उपयोग करते समय "प्रामाणिक उपयोगकर्ता ने क्लाइंट आईडी के साथ ऐप स्थापित नहीं किया है" त्रुटि क्यों मिल रही है?



elisp google-drive-sdk (1)

मैं एमएक्स के लिए एक Google ड्राइव इंटरफ़ेस पर काम कर रहा हूं अवधारणा यह है कि Emacs Google डिस्क में संग्रहीत पाठ दस्तावेज़ों को लोड करने, संशोधित करने और सहेजने के लिए एक प्लेटफ़ॉर्म-अज्ञेय तरीका प्रदान कर सकता है। मैंने अपना ऐप पंजीकृत कर लिया है और OAuth2 के साथ प्रमाणीकरण कर सकता हूं और डॉक्स सूची एपीआई के साथ एक फाइल लिस्टिंग प्राप्त कर सकते हैं, लेकिन जब मैं Google ड्राइव एपीआई के साथ सम्मिलित करने की कोशिश करता हूं, तो मुझे एक त्रुटि दिखाई देती है:

"प्रमाणित उपयोगकर्ता ने क्लाइंट आईडी के साथ ऐप स्थापित नहीं किया है ..."

आगे पढ़ना, ऐसा लगता है कि मुझे ड्राइव एपीआई तक पहुंच प्राप्त करने के लिए क्रोम वेब स्टोर में अपने एमएक्स एप्लीकेशन को प्रकाशित करना होगा। यह मुझे समझ में नहीं आता ... मैंने पाया कि Google डिस्क के लिए विकास में एक फ़्यूसेज प्रोजेक्ट है, जो बताता है कि मूल विकास संभव है। जब मैंने कोड स्किम्ड किया, फिर भी, मुझे यह काम करने के लिए क्रोम वेब स्टोर घटक नहीं मिला।

क्या मैं एपीआई का दुरुपयोग करने की कोशिश कर रहा हूं, या क्या यह काम करने का एक मार्ग है जो अधिक समझ में आता है?


संपादित करें:

Google ड्राइव टीम के अली अफशर के मुताबिक, अब इस एपीआई का उपयोग करने के लिए अधिष्ठापन की आवश्यकता नहीं है। तो क्या हो सकता है कि अब प्रासंगिक हो, लेकिन ऐतिहासिक उद्देश्यों के लिए छोड़ दिया जाएगा।

इसलिए, एपीआई से पहले हम इस तरह के अनुप्रयोग विकास का समर्थन नहीं करते हैं कि हम दोनों इसे कर रहे हैं, मैं हालांकि शब्द का उपयोग नहीं करेंगे। अच्छी खबर यह है कि मैं कुछ शोध कर रहा हूं और Google ड्राइव वास्तव में केवल Google डॉक्स का रीब्रांडिंग है। इसलिए Google डॉक्स एपीआई एक ही उद्देश्य के लिए एक अच्छा विकल्प हो सकता है।

वैसे भी, यहां त्रुटि को हल करने के लिए चरण दिए गए हैं: "प्रमाणित उपयोगकर्ता ने क्लाइंट आईडी के साथ ऐप स्थापित नहीं किया है ..." इस उत्तर के लिए 403 त्रुटि कौन सी है ये कदम मानते हैं कि आपने क्रोम वेब स्टोर में एक ऐप स्थापित कर लिया है जैसा आवश्यक है, और इसे स्थापित किया है। मैं अपनी स्थानीय मशीन पर भी काम कर रहा हूं, मेरी परियोजना के साथ: http://github.com/tom-dignan/gdrive-cli जिसने मुझे इस त्रुटि को अतीत दिया है, इसलिए मुझे लगता है कि आपको अपने emacs संस्करण पर प्लगिंग को रखना चाहिए, क्योंकि मुझे लगता है कि हम यह काम कर सकते हैं

ए। Google API कंसोल खोलें

ख। पुष्टि करें कि आपने Google API के लिए एपीआई और एसडीके दोनों के लिए "एपीआई प्रवेश" के तहत पहले से सक्षम API को सक्षम किया जाना चाहिए। वहाँ आप अपने ग्राहक के रहस्य / api चाबियाँ और ऐसे मिल मैं लगभग सकारात्मक हूँ जो आपने पहले से ही किया है, इसलिए सी के आगे आगे बढ़ो (यह दूसरों के लिए यहां है जो इसे चूक गए हैं)

सी। बाएं नेविगेशन पट्टी में, "ड्राइव एसडीके" के तहत आपको निम्न कार्य करने की आवश्यकता होगी:

  1. "सहायता यूआरएल" (आवश्यक) जोड़ें

  2. कम से कम एक छोटा 16x16 एप्लिकेशन आइकन जोड़ें (आवश्यक)

  3. ड्राइव इंटिग्रेशन के तहत "OAuth क्लाइंट आईडी (आवश्यक)" जोड़ें (मैं सिर्फ छेड़छाड़ कर रहा था और यह महत्वपूर्ण फ़ील्ड लगता है।)

  4. Google डिस्क UI से अपने ऐप के लिए खोलने के लिए "ओपन यूआरएल (आवश्यक) यूआरएल" जोड़ें।

  5. "एकाधिक फ़ाइल समर्थन" को चेक करें

  6. उदाहरण के लिए कुछ MIME प्रकार और फ़ाइल एक्सटेंशन, "पाठ / सादे", और txt जोड़ें

  7. Auth scopes जोड़ें:

    https://www.googleapis.com/auth/userinfo.email

    https://www.googleapis.com/auth/userinfo.profile

यहां Google डॉक्स के लिए auth scopes जोड़ने का प्रयास करने पर परेशान न करें, क्योंकि यह काम नहीं करेगा Google यह नहीं चाहता कि हम इसका उपयोग उस तरीके से करें क्योंकि ऐप बनाने वाले फाइल उस ऐप के लिए निजी होने चाहिए। Google डॉक्स के साथ एकीकरण अलग होना होगा।

अब मुझे पता है कि आपको यह सोचना होगा कि "मुझे इनमें से कुछ क्यों जोड़ना है ..." ऐसा इसलिए है क्योंकि फ़ॉर्म उन्हें आवश्यक फ़ील्ड बनाता है मेरे में, मैंने कुछ यूआरएल डाल दिए जो स्थिर एचटीएमएल पृष्ठों को इंगित करते हैं।

उपरोक्त कार्य पूर्ण करने के बाद, अपना राज्य साफ़ करें और अपने क्रोम ऐप को पुनः इंस्टॉल करें। फिर अपना कोड फिर से आज़माएं, और इसे आपको 403 देना बंद कर देना चाहिए।





google-drive-sdk