2012-10-05 11 views
6

है जब मैं फ़ाइल ड्राइव प्राप्त करने का प्रयास करता हूं Google ड्राइव पर FileSize() प्राप्त करें परिणाम नल है। मुझे पता है कि परिणाम ड्राइव पर संग्रहीत नहीं होने पर परिणाम शून्य हो सकता है लेकिन फ़ाइल ड्राइव पर संग्रहीत है (downloadUrl शून्य से अलग है)।Google ड्राइव: फ़ाइल का आकार शून्य

Drive lService = new Builder(new NetHttpTransport(), new JacksonFactory(), lCredential).setApplicationName("TODO").build(); 
    FileList files = lService.files().list().execute(); 

    List<FileDTO> lResult = new ArrayList<FileDTO>(); 
    for (File lFile : files.getItems()) { 
     DriveFileDTO lFileDTO = new DriveFileDTO(); 
     lFileDTO.setName(lFile.getTitle()); 
     lFileDTO.setMimeType(lFile.getMimeType()); 
     lFileDTO.setSize(lFile.getFileSize()); // <-- FileSize = NULL 

     lFileDTO.setUrl(lFile.getDownloadUrl()); 

     lResult.add(lFileDTO); 
    } 

क्या आप मेरी मदद कर सकते हैं?

धन्यवाद! एजीओ!

उत्तर

0

HttpResponse वर्ग पर कॉल getHeaders().GetContentLength() (कोड मान लिया गया myurl अपने यूआरएल है):

HttpResponse resp = service.getRequestFactory().buildGetRequest(new GenericUrl(myurl)).execute(); 
Log.v("abc","file size is : " + resp.getHeaders().getContentLength()); 
+0

यह उत्तर गलत है। सवाल file.size के लिए पूछता है। अनुरोध फाइलों की सूची के लिए है, इसलिए केवल एक फ़ाइल आकार नहीं हैं। यदि यह एक मूल्य देता है, तो यह किसी भी फ़ाइल का आकार नहीं है, बल्कि सूची का आकार वापस किया जा रहा है। – NameSpace

0

OAuth 2.0 खेल का मैदान के साथ इस मुद्दे से उत्पन्न होने का प्रयास करें:

https://developers.google.com/oauthplayground

OAuth खेल का मैदान का उपयोग करके हम कच्चे अनुरोध भेजने और जाँच एपीआई में एक मुद्दा लगा सकते हैं कि कर सकते हैं। मैंने इसे स्वयं पुन: पेश करने की कोशिश की और यह सही ढंग से काम किया।

+0

आपकी मदद के लिए क्लाउडियो धन्यवाद। अगर मैं ओथ खेल का मैदान उपयोग करता हूं तो मैं फ़ाइल का आकार देख सकता हूं। अगर मैं Google ड्राइव एपीआई द्वारा एक ही कार्रवाई करता हूं तो आकार शून्य – aGO

+0

है क्या आप जावा क्लाइंट लाइब्रेरी का नवीनतम संस्करण उपयोग कर रहे हैं? क्या समस्या केवल एक फ़ाइल के साथ होती है? यदि हां, तो क्या आप प्रभावित फाइलों में से एक साझा कर सकते हैं? मैं अभी भी अपने परीक्षण खातों के साथ इसे पुन: उत्पन्न नहीं कर सकता। –

+0

ओएथ खेल के मैदान के परीक्षण के बाद यह काम कर रहा है ... मैं इसे समझा नहीं सकता। अब मैं नवीनतम जावा क्लाइंट लाइब्रेरी का उपयोग कर रहा हूं। अगर मैं इस मुद्दे को पुन: उत्पन्न करूंगा तो मैं इसे लिखूंगा। आपका बहुत बहुत धन्यवाद! – aGO

1

Google डिस्क से एक फ़ाइल सूची के लिए एक डिफ़ॉल्ट अनुरोध फ़ाइल आकार शामिल होंगे, लेकिन केवल फ़ाइलें फ़ाइल आकार है, जहां के लिए निस्संदेह शून्य नहीं। उदाहरण के लिए, फ़ोल्डर्स और Google स्प्रेडशीट्स (जो कि बस लिंक हैं) शून्य हो जाएंगी।

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

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