मैं अपने मस्तिष्क को इंटरनेट एक्सप्लोरर में ड्राइव से फ़ाइल डाउनलोड करने का तरीका जानने का प्रयास कर रहा हूं। ऐसा लगता है कि क्रॉस डोमेन सुरक्षा चिंताएं इसे रोक रही हैं।Google ड्राइव और सीओआरएस क्रॉस डोमेन अनुरोध
एक साधारण 'प्राप्त' XMLHttpRequest का उपयोग कर क्रोम और फ़ायरफ़ॉक्स में ठीक काम करता है, क्योंकि यह, के रूप में कोड की निम्न लाइनों में दिखाया गया अनुरोध हेडर, जो ब्राउज़र एक CORS प्रतिक्रिया का अनुरोध करने की अनुमति का समर्थन करता है:
var xhr = new XMLHttpRequest();
xhr.open('GET', file.downloadUrl);
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.onload = function() {
callback(xhr.responseText);
};
xhr.send();
आईई सुरक्षा कारणों से अनुरोधित हेडर का समर्थन नहीं करता है। इस दुर्भाग्य से लोकप्रिय ब्राउज़र में सामग्री डाउनलोड करने की कोई क्षमता नहीं है, मैं पूरी तरह से अटक गया हूं।
मेरा सवाल यह है - दुनिया में इन अन्य अनुप्रयोगों को इस मुद्दे से कैसे निपटना है? क्या वे किसी प्रकार की सर्वर साइड प्रॉक्सी का उपयोग कर रहे हैं, और अपने सभी बैक एंड के माध्यम से सभी ड्राइव अनुरोधों को फ़नल कर रहे हैं? यह इस बिंदु पर बल्कि कठिन लग रहा है। या, लॉन्च पर ड्राइव फ़ाइल तक पहुंचने का कोई तरीका है, मुझे पता नहीं है?
मैंने कुछ समाधान देखा है जिनके लिए दोनों सर्वरों पर फ़ाइलों की आवश्यकता होती है, जो कि मुझे पता नहीं है कि एक विकल्प नहीं है। क्या Google ड्राइव में अनुरोध शीर्षलेख के बिना सीओआरएस के साथ प्रतिक्रिया करने की क्षमता है, या क्या कोई अन्य एपीआई है जो मुझे पता नहीं है कि ड्राइव डोमेन के भीतर किसी आईफ्रेम से कॉलबैक के किसी प्रकार का समर्थन करता है?
मैं इस बिंदु पर पानी में काफी ज्यादा मर चुका हूं। कोई भी युक्ति सराहनीय होगी। एमएस उत्पादों के साथ करने के लिए किसी भी सवाल पूछने के लिए खेद है।
क्या आपने ड्राइव एपीआई के लिए जेएस क्लाइंट माना है: http://googleappsdeveloper.blogspot.com/2012/09/introducing-javascript-support-for.html – monsur
हाँ, ऊपर दिखाया गया कोड डाउनलोड अनुभाग से लिया गया था। यह क्रोम, फ़ायरफ़ॉक्स और सफारी में बहुत अच्छा काम करता है, सिर्फ आईई में नहीं। मैंने एक वैकल्पिक विधि की तलाश की, लेकिन आईई के भीतर कोरस ऑथ हेडर करने का कोई तरीका नहीं है, या बाइट रेंज हेडर (आंशिक डाउनलोड के लिए)। – djabraham
हे डैनो 64, अगर सीओआर आईई पर काम नहीं कर रहे हैं तो हम इसे ठीक करना चाहते हैं। क्या आप मुझे यह बता सकते हैं कि आईई के लिए इसे ठीक करने के लिए हमें Google के अंत में क्या करना होगा? फिर मैं अपनी Eng टीम के साथ एक बग फाइल करूंगा और मैं एक त्वरित फिक्स पाने की कोशिश करूंगा। – Nivco