मुझे प्रमाणीकरण के बिना जावास्क्रिप्ट में XMLHttpRequest
(XHR) के साथ Google ड्राइव फ़ाइलों तक पहुंचने के लिए एक HTML पृष्ठ की आवश्यकता है (इसलिए मेरे उपयोगकर्ताओं को Google खाते में साइन इन होना आवश्यक नहीं है)। इन फ़ाइलों को "लिंक वाला कोई भी व्यक्ति" अनुमति है। चूंकि ये फ़ाइलें दुनिया के लिए खुली हैं (लिंक होने के कारण) मुझे नहीं पता कि उनके लिए क्रॉस-मूल संसाधन साझाकरण (सीओआरएस) को अनुमति देने में समस्या क्यों होगी।प्रमाणीकरण के बिना XHR (CORS) द्वारा सार्वजनिक Google ड्राइव फ़ाइल को मैं कैसे एक्सेस कर सकता हूं?
downloadUrl
प्रमाणीकरण की आवश्यकता है, इसलिए मुझे लगता है कि यह एक व्यवहार्य विकल्प नहीं है। मैंने webViewLink
पर भी देखा है, जो मुझे लगता है कि फ़ाइलों को "वेब पर सार्वजनिक" होने की आवश्यकता है - खोज इंजन में बदलना, मुझे लगता है। मेरे लिए भी एक व्यवहार्य विकल्प नहीं है। मुझे इन फ़ाइलों के लिए "लिंक वाला कोई भी व्यक्ति" अनुमति चाहिए। सबसे आशाजनक लिंक webContentLink
है, जो http://googleappsdeveloper.blogspot.se/2012/08/5-things-you-didnt-know-you-could-do.html के अनुसार सार्वजनिक और अनधिकृत पहुंच की अनुमति देता है।
मेरे पास webContentLink
के साथ समस्या यह है कि यह कॉरस मित्रवत प्रतीत नहीं होता है। क्रोम में एक्सएचआर के साथ मेरे प्रयास विफल (काफी चुपचाप)। मैं कोई हेडर नहीं जोड़ता हूं।
curl
--header "Origin: http://www.hello.se"
और दोनों का उपयोग कर के साथ या बिना --header "Access-Control-Request-Method: GET"
परिणाम एक HTTP/1.1 302 Moved Temporarily
में साथ मेरा प्रयास एक अल्पकालिक सामग्री URL पर रीडायरेक्ट। समस्या यह है कि रीडायरेक्ट प्रतिक्रिया में Access-Control-Allow-Origin
शीर्षलेख का कोई संकेत नहीं है, जिसे CORS को सक्षम करने के लिए आवश्यक है।
क्या ऐसा कुछ है जो मैं काम करने के लिए अलग-अलग कर सकता हूं?
अन्यथा Google एसडीके टीम, क्या आप सार्वजनिक फ़ाइलों (जिन्हें कुकी प्रमाणीकरण की आवश्यकता नहीं है) के लिए webContentLink
सीओआरएस अनुकूल बना सकते हैं?
* उपयोग करने के लिए एक window.myCallback जे एस समारोह को परिभाषित करें "(...) नहीं तो गूगल एसडीके टीम, आप कर सकते हैं (...)" * मैं नहीं आश्चर्य है अगर वे किया जाएगा सवाल का जवाब दिया, लेकिन मुझे लगता है कि उन्हें ऐसा करने की उम्मीद है कि यह काफी धारणा है। यदि आप Google के अपने चैनलों के माध्यम से इसे संवाद करते हैं तो आपका सुझाव शायद उनके द्वारा सुना जाएगा। – Renan
@ रेनान मैंने Google से डेवलपर्स को देखा है कि पहले एसओ पर लाए गए मुद्दों का जवाब दें और उन्हें ठीक करें। तो यह असंभव नहीं है :) – idbehold
@Renan https://developers.google.com/drive/support पर देख रहे हैं, मुझे सही जगह पर लग रहा है। – Anders