2012-12-12 22 views
21

मुझे यह नहीं मिल सकता कि मुझे एंड्रॉइड ऐप विकसित करने के लिए किस libs का उपयोग करना चाहिए जो Google स्प्रेडशीट का प्रबंधन करता है। मुझे उपयोगकर्ता स्प्रेडशीट से कनेक्ट करने, कॉपी करने, संपादित करने, पढ़ने की ज़रूरत है, लेकिन मैं आज समझ नहीं पा रहा हूं।एंड्रॉइड - Google स्प्रेडशीट एपीआई

Google Drive Api : https://developers.google.com/drive/ 
Google Spreadsheet Api: https://developers.google.com/google-apps/spreadsheets/ 
Google APi java client: http://code.google.com/p/google-api-java-client/ 

सही कौन सा है?

उत्तर

9

अंत में पुस्तकालयों मैं प्रयोग किया जाता हैं:

gdata-client-1.0.jar 
gdata-client-meta-1.0.jar 
gdata-core-1.0.jar 
gdata-spreadsheet-3.0.jar 
gdata-spreadsheet-meta-3.0.jar 
google-api-client-1.12.0-beta.jar 
google-api-client-android-1.12.0-beta.jar 
google-http-client-1.12.0-beta.jar 
google-http-client-android-1.12.0-beta.jar 
google-oauth-client-1.12.0-beta.jar 
gson-2.1.jar 
guava-13.0.1.jar 
jackson-core-asl-1.9.9.jar 
jsr305-1.3.9.jar 
protobuf-java-2.4.1.jar 

यूगेनियो द्वारा सुझाव दिया गया है (उसके लिए धन्यवाद !!!) मैं "मिश्रित" जावा-ग्राहक-api साथ और बाद स्प्रेडशीट एपीआई से पुस्तकालयों

: प्रमाणीकरण मैं पल मैं "सबसे बुरी" प्रमाणीकरण प्रणाली का इस्तेमाल किया और मैं OAuth2 में यह कर देना चाहिए लेकिन इस समय के लिए ClientLogin इस तरह से किया जाता है के लिए कोशिकाओं

SpreadsheetEntry spreadsheet = null; 
URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full"); 

SpreadsheetFeed spreadsheetFeed = service.getFeed(metafeedUrl, SpreadsheetFeed.class); 
List<SpreadsheetEntry> spreadsheets = spreadsheetFeed.getEntries(); 
for (SpreadsheetEntry entry : spreadsheets) { 
    if (entry.getTitle().getPlainText().equals(spreadsheetTitle)) { 
     spreadsheet = entry; 
    } 
} 

if (spreadsheet == null) { 
    throw new FileNotFoundException("Cannot find the required spreadsheet '" + spreadsheetTitle + "'"); 
} 

WorksheetEntry worksheet = null; 
WorksheetFeed worksheetFeed = service.getFeed(spreadsheet.getWorksheetFeedUrl(), WorksheetFeed.class); 
List<WorksheetEntry> worksheets = worksheetFeed.getEntries(); 
    for (WorksheetEntry entry : worksheets) { 
    if (entry.getTitle().getPlainText().equals(worksheetTitle)) { 
     worksheet = entry; 
    } 
} 

if (worksheet == null) { 
    throw new FileNotFoundException("Cannot find the required worksheet '" + worksheetTitle + "'"); 
} 

URL listFeedUrl = worksheet.getListFeedUrl(); 
ListFeed listFeed = service.getFeed(listFeedUrl, ListFeed.class); 

प्राप्त करने के लिए निम्नलिखित का इस्तेमाल किया

SpreadsheetService service = new SpreadsheetService("v1"); 
service.setProtocolVersion(SpreadsheetService.Versions.V3); 
service.setUserCredentials(email, password); 
+0

क्या आपने कभी OAuth2 इस के साथ काम किया है? – Jack

+0

मैंने वास्तव में फिर से इस पर कभी काम नहीं किया .. मैंने केवल वर्णित प्रमाणीकरण का उपयोग किया। क्षमा करें .. –

+0

लेकिन यह सभी स्प्रेडशीट्स लौटाएगा, क्लाउड मैं विशिष्ट स्प्रेड शीट तक पहुंचने का प्रयास कैसे करता हूं – Fasiha

23

लघु जवाब: सभी तीन

लांग जवाब:

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

Google Spreadsheet Api स्प्रेडशीट में जटिल संचालन करने की अनुमति देता है, जैसे पंक्ति और कॉलम द्वारा डेटा तक पहुंचना।

Google API java client सभी Google एपीआई में निर्भरता है, इसका उपयोग ओएथ या सेवा खातों जैसे विभिन्न तरीकों से कनेक्शन को अधिकृत करने के लिए किया जाता है।

+1

आपके उत्तर के लिए धन्यवाद! .. क्या आपके पास कोई ट्यूटोरियल या डाउनलोड करने योग्य उदाहरण है? मैं समझ नहीं पा रहा हूं कि उन्हें एक साथ कैसे एकीकृत किया जाए .. –

+0

ठीक है, सभी तीनों के साथ नहीं, लेकिन [यह ट्यूटोरियल] (http://code.google.com/p/google-api-java-client/wiki/APIs#Drive_API) क्लाइंट एपीआई और ड्राइव एपीआई का उपयोग करता है, स्प्रेडशीट एपीआई का उपयोग करके –

+2

@EugenioCuevas के बाद सीधा होना चाहिए लिंक लिंक मर चुका है। – rahulserver