2012-10-02 12 views
5

मैं Google ड्राइव API का परीक्षण कर रहा हूं। टेस्ट स्क्रिप्ट HTTP- फ़ाइलों को एक्सेस करने के लिए HTTP GET करता है-> सूची एपीआई लेकिन किसी भी तरह से मुझे हमेशा वस्तुओं में खाली सूची मिलती है। मेरे पास Google ड्राइव में सैकड़ों फाइलें हैं इसलिए परिणाम अप्रत्याशित है। HTTP प्रतिक्रिया नीचे दिखाया गया है।एक्सेस Google ड्राइव एपीआई रिक्त फ़ाइल सूची

{ 
    "kind": "drive#fileList", 
    "etag": "\"VEU5fga3uYlZRf0pG-N1kS4iWP4/Kxo5eGvPKynWfroe9v5L5T43-n0\"", 
    "selfLink": "https://www.googleapis.com/drive/v2/files?maxResults=5", 
    "items": [] 
    } 
+0

मेरा दायरा https://www.googleapis.com/auth/drive है। मैंने https://docs.google.com/feeds स्कोप और HTTP https://docs.google.com/feeds/default/private/full प्राप्त करने का भी प्रयास किया है और यह या तो काम नहीं करता है। – kvzrock

+0

क्या आप अपना अनुरोध दिखा सकते हैं? –

+0

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

उत्तर

1

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

+0

क्या आप विस्तार कर सकते हैं कि आपने सेवा खाते में अनुमतियां कैसे दीं? मैंने सेवा फ़ाइलों के ईमेल पते ([email protected]) के साथ अपनी फाइलें और फ़ोल्डर्स साझा किए हैं लेकिन काम नहीं कर रहे हैं। – ifunk

+6

मुझे मेरी समस्या मिली है। मेरे पास ".../auth/drive.file" का दायरा सेट था। इसे ".../auth/drive" में बदलना समस्या को हल करता है। – ifunk

+0

@ifunk मुझे एक ही समस्या है, क्या आप कृपया बता सकते हैं कि आपने वास्तव में क्या किया? अग्रिम में धन्यवाद! $ ग्राहक> setAssertionCredentials (नई Google_AssertionCredentials ( '[email protected]', सरणी ('https://www.googleapis.com/auth/drive'), : – mongotop

4

यह आमतौर पर आप एक गुंजाइश है कि आप उन फ़ाइलों को देखने की अनुमति नहीं देता है साथ प्रमाणीकृत किया है इसका मतलब सूची https://www.googleapis.com/auth/drive.readonly.metadata दायरे में शामिल करने के लिए पर्याप्त है।

उदाहरण के लिए, दायरा https://www.googleapis.com/auth/drive.file केवल फ़ाइलों को ऐप द्वारा बनाई गई या खोला गया है। आप Google ड्राइव इंटरफ़ेस में बनाए गए फ़ाइलों या अन्य ऐप्स तक पहुंचने में सक्षम नहीं होंगे।

यदि आप सभी फ़ाइलों तक पहुंचना चाहते हैं, तो आपको एक और स्कोप का उपयोग करना होगा। उदाहरण के लिए, https://www.googleapis.com/auth/drive, आपको उपयोगकर्ता की सभी फ़ाइलों तक पहुंचने के लिए पूर्ण, अनुमोदित दायरा देता है

आप उपलब्ध स्कोप here के बारे में जानकारी प्राप्त कर सकते हैं। अपने ऐप के लिए सही दायरा चुनने के लिए इसका इस्तेमाल करें।

+1

यह सही उत्तर है। – Cheeso

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