5

मैं एक एंड्रॉइड ऐप पर काम कर रहा हूं जो केवल प्रदर्शन के लिए दस्तावेज़ डाउनलोड करने के लिए gdata-java-client का उपयोग करता है। अब तक मेरे पास एक ऐसा एप्लिकेशन है जो सेवाओं के साथ प्रमाणित करता है और उपयोगकर्ता दस्तावेज़ों की एक सूची प्रदर्शित करता है। जब उपयोगकर्ता दस्तावेज़ का चयन करता है तो दस्तावेज़ों के लिए एक और क्वेरी बनाई जाती है। Txt, html, rtf और doc फ़ाइलों के लिए अनुरोध अच्छी तरह से काम करता है, हालांकि जब मैं किसी भी .csv या .xsl प्रारूप में स्प्रेडशीट का अनुरोध करता हूं तो परिणाम अप्रत्याशित होता है।एंड्रॉइड पर Google ड्राइव से Google शीट्स स्प्रैडशीट्स डाउनलोड करना

मैं एक HTTPResponse ऑब्जेक्ट का उपयोग HTTPRequest के परिणाम को संग्रहीत करने के लिए कर रहा हूं। जब मैं .csv या .xsl प्रारूप में किसी दस्तावेज़ का अनुरोध करता हूं तो HTTPResponse.parseAsString() विधि एक संपूर्ण HTML पृष्ठ उत्पन्न करती है जो Google डॉक्स होम पेज प्रतीत होता है। अजीब लगता है, लेकिन परिणाम लॉगिन पेज के लिए वास्तविक एचटीएमएल है। HTTPResponse.getStatusMessage 200 देता है।

ऐसा लगता है कि मुझे यहां कुछ आसान याद आ रहा है। क्या HTTPResponse की एक और संपत्ति है जिसमें .csv डेटा है?

मुझे पूरा यकीन है कि मैं स्प्रेडशीट्स डाउनलोड करने के लिए सही यूरी का उपयोग कर रहा हूं क्योंकि यह मेरे ब्राउज़र के माध्यम से डाउनलोड होने पर काम करता है।

https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=0AsE_6_YIr797dHBTUWlHMUFXeTV4ZzJlUGxWRnJXanc&exportFormat=csv 

किसी भी मदद :)

+0

यदि आपको कोई बात नहीं है, तो क्या आप कृपया "google-api-java-client" टैग जोड़ देंगे? –

+0

@ जेसन हॉल मैं उत्सुक हूं, आपने मूल प्रश्न को इतना क्यों संपादित किया? – JeremyFromEarth

+0

AFAIK मैंने जो परिवर्तन किया है वह "gdata-java-client" को निकालना था और "google-api-java-client" जोड़ना था - देखें http://stackoverflow.com/posts/2813470/revisions –

उत्तर

1

के लिए अग्रिम धन्यवाद मैं दस्तावेज़ सूची API पता करने के लिए के साथ पर्याप्त परिचित नहीं हूँ, लेकिन आपके वर्णन से ऐसा लगता है कि आप कर सकते हैं लगता है: किसी भी मामले में यहां एक उदाहरण uri है दस्तावेज़ सूची API में एक बग का सामना करना पड़ा है, और यह मुझे ठीक करने के लिए एक महत्वपूर्ण समस्या की तरह लगता है।

दस्तावेज़ सूची API मंच पर अपनी समस्या की रिपोर्ट करें मौका है कि किसी जानकार इस मामले की छानबीन करने में सक्षम होगा बढ़ाने के लिए:

http://www.google.com/support/forum/p/apps-apis/label?lid=5c316c702e844c99&hl=en

5

मैं अपने कोड नहीं देखा है, लेकिन सबसे निश्चित रूप से मुद्दा यह है कि आप ClientLogin का उपयोग कर रहे हैं, और 'writely' सेवा का उपयोग कर दस्तावेज़ सूची API के लिए प्रमाणित हैं। हालांकि, एक स्प्रेडशीट को निर्यात करने से स्प्रेडशीट्स.google.com पर हमला होगा, आपको 'बुद्धिमान' सेवा के खिलाफ प्रमाणित करने के लिए क्लाइंटलॉगिन का उपयोग करना होगा। http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#DownloadingSpreadsheets

नोट टिप्पणी वहाँ शीर्ष पर लेबल 'महत्वपूर्ण' है, जो यहाँ लिंक: http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#DownloadingSpreadsheetsClientLogin

उस लिंक पर जावा से, कि स्प्रेडशीट्स जावा क्लाइंट लाइब्रेरी है, जो यहां से प्रलेखित है का उपयोग कर का मतलब , स्प्रेडशीट क्लाइंट उदाहरण का उपयोग करके विस्तृत किया गया है।

गुड लक :)

+0

यह दिखाया गया एपीआई दिखाता है। – Youngjae

0

यह 2017 है, और वहाँ अब काम करने के लिए एक पूरी तरह नया तरीका है। GData, GData API जैसे दस्तावेज़ सूची API, क्लाइंटलॉगिन और ड्राइव डाउनलोड यूआरएल अब अप्रचलित हैं। उनके स्थान पर एक ड्राइव एपीआई, शीट्स एपीआई, और एंड्रॉइड ऐप्स से Google प्रौद्योगिकियों के साथ एकीकृत करने का एक और मूल तरीका है: Google APIs Client Library for Android। यदि आप इसके बजाय सर्वर-साइड कर रहे हैं तो Google APIs Client Library for Java भी है।

आपको स्प्रैडशीट पर दस्तावेज़ उन्मुख कार्रवाई करने के लिए चाहते हैं, तो आप Google Sheets API का उपयोग करें और इसलिए ऊपर क्लाइंट लाइब्रेरी का उपयोग करना चाहते हैं। अब कुछ उदाहरणों के लिए ... यहां Android quickstart code sample के साथ ही शीट्स एपीआई के लिए अधिक सामान्य Java quickstart code sample है। JavaDocs reference for the Sheets API के साथ पास करने के लिए भी चोट नहीं पहुंची।नवीनतम शीट्स एपीआई पुरानी रिलीज में उपलब्ध सुविधाओं को प्रदान नहीं करता है, अर्थात् डेवलपर्स प्रोग्रामेटिक दस्तावेज़-उन्मुख पहुंच को शीट पर प्रदान करना जैसे कि आप उपयोगकर्ता इंटरफ़ेस का उपयोग कर रहे थे (जमे हुए पंक्तियां बनाएं, सेल स्वरूपण करें, पंक्तियों/स्तंभों का आकार बदलना, पिवोट टेबल जोड़ना, बनाना चार्ट, इत्यादि)

हालांकि, फ़ाइल -लेवल एक्सेस करने के लिए, ओपी के प्रश्न में, आप Google Drive API का उपयोग करेंगे। docs page specifically on retrieving document contents सहित Google Drive API for Android भी है। यदि आप इस लाइब्रेरी में नए हैं, तो शुरू करने के लिए Drive API Android quickstart sample app के साथ-साथ other code samples भी है। यहां Drive API for Android class reference docs भी हैं।

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