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
Sie sollten sich Google Spreadsheet API 3.0 ansehen. Es unterstützt JAVA, die Sie in Ihrer Android-Anwendung verwenden können.
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"
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. –