2013-06-04 5 views
5

Meine Anwendung enthält eine Liste von Verschiebungen. Ich möchte die Liste der Schichten in eine Tabellenkalkulationsdatei auf einem Google Drive-Konto speichern. Seit Google Spreadsheets API verwendet die veraltete Google Doc API um Tabellenkalkulationsdateien zu erstellen; Wie erstelle und bearbeite ich eine solche Datei auf einem Google-Laufwerk, alles aus dem Java-Code in meiner Android-Anwendung und ohne Benutzerinteraktion (außer Berechtigungen), mit Google Drive APIs nur?Wie erstelle und bearbeite ich eine Tabellendatei auf Google Drive mit Google Drive APIs nur aus meiner Android App?

Antwort

4

Sie sollten sich Google Spreadsheet API 3.0 ansehen. Es unterstützt JAVA, die Sie in Ihrer Android-Anwendung verwenden können.

+4

Es scheint, dass Um eine Tabelle zu erstellen, müssen Sie Google Docs Apis verwenden, aber ** "Version 3 der Google Docs-Liste API wurde offiziell ab dem 14. September 2012" **. Auf der Google-Dokumentlisten-API-Seite wird empfohlen, die Google Drive-API zu verwenden. Ich kann jedoch keine Möglichkeit finden, sie zum Erstellen und Bearbeiten von Tabellendateien zu verwenden. –

4

Google Docs-API ist veraltet, aber die Google Tabellen-API (aktuell: v3) ist noch am Leben.

Um die äquivalente Funktionalität der ursprünglichen Kombination von Google Tabellen + Dokumenten, , zu erfüllen, sollten Sie die Drive API für Dateimanipulationen wie Suchen/Verschieben/Erstellen/Löschen verwenden.

Zusätzlich zu den Bereichen für Drive API, fügen Sie den folgenden Geltungsbereich auf Ihre Grant:

https://spreadsheets.google.com/feeds 

Wenn Sie GData client library und Google OAuth client library verwenden, wird es ganz einfach sein, beide Setup Dienste nach OAuth 2.0 Zulassung . Hier ein Beispiel:

// Acquire clientId, clientSecret and refreshToken 
... 

// Create shared credential 
GoogleCredential credential = new GoogleCredential.Builder() 
      .setClientSecrets(clientId, clientSecret) 
      .setJsonFactory(jsonFactory) 
      .setTransport(transport) 
      .build().setRefreshToken(refreshToken); 

// Setup both servives 
Drive driveService = new Drive.Builder(transport, jsonFactory, credential).build(); 
SpreadsheetService sheetService = new SpreadsheetService(...); 
sheetService.setOAuth2Credentials(credential); // only provided in newer releases 
sheetService.useSsl(); 

Ressourcen-IDs in beiden APIs ist identisch, so dass Sie id einige Datei mit Drive-API-Methoden und Zugang Arbeitsblatt in der Datei mit Sheets API-Methoden suchen. Hier ein Beispiel:

File file = driveService.files().get().setFields(...).execute(); 
String feedUrl = "https://spreadsheets.google.com/feeds/worksheets/" 
      + file.getId + "/private/full"; 
WorksheetFeed feed = sheetService.getFeed(feedUrl, WorksheetFeed.class); 

Wenn Sie einen Fehler erhalten „Token ungültig - AuthSub Token hat falschen scope“, Anhänge Query-String von accessToken zum feedUrl helfen kann.

feedUrl = feedUrl + "?access_token=" + credential.getAccessToken(); 

FYI, die Liste der Q & Wie ich genannt habe, wenn diese Antwort zu schreiben.

  • "Ist es möglich, die Google Drive API mit Tabellenkalkulations-API zu verwenden"
  • "Get-Tabelle erstellt mit Drive SDK"
  • "Google Drive SDK alternateLink Mit OAuth2"
Verwandte Themen