Ich möchte nur mit JavaScript auf Google Spreadsheets zugreifen (kein .NET, C #, Java usw.).
Ich kam hierher und war schockiert zu wissen, dass es KEINE API für JavaScript gibt, um auf Google Sheets zuzugreifen.
Bitte sagen Sie mir, wie ich mit JavaScript oder einem seiner Frameworks wie jQuery auf Google Sheets zugreifen (CREATE / EDIT / DELETE) kann.
Antworten:
Ich habe eine einfache Javascript-Bibliothek erstellt, die Google-Tabellenkalkulationsdaten (sofern veröffentlicht) über die JSON-API abruft:
https://github.com/mikeymckay/google-spreadsheet-javascript
Sie können es hier in Aktion sehen:
http://mikeymckay.github.com/google-spreadsheet-javascript/sample.html
quelle
Jan 2018 UPDATE : Als ich diese Frage letztes Jahr beantwortete, habe ich es versäumt, eine dritte Möglichkeit für den Zugriff auf Google-APIs mit JavaScript zu erwähnen , die von Node.js Apps über die Clientbibliothek stammt. Deshalb habe ich sie unten hinzugefügt.
Es ist März 2017 und die meisten Antworten hier sind veraltet. Die akzeptierte Antwort bezieht sich jetzt auf eine Bibliothek, die eine ältere API-Version verwendet. Eine aktuellere Antwort: Sie können nur mit JavaScript auf die meisten Google-APIs zugreifen. Google bietet heute drei Möglichkeiten, dies zu tun:
Wenn Sie die REST-API verwenden, müssen Sie Ihren Quellcode verwalten und speichern sowie die Autorisierung durchführen, indem Sie Ihren eigenen Authentifizierungscode rollen (siehe Beispiele oben). Apps Script kümmert sich in Ihrem Namen darum, verwaltet die Daten (reduziert den "Schmerz", wie von Ape-inago in der Antwort erwähnt ), und Ihr Code wird auf den Servern von Google gespeichert. Ihre Funktionalität beschränkt sich jedoch auf die Dienste, die App Script bereitstellt, während die REST-API Entwicklern einen viel breiteren Zugriff auf die API bietet. Aber hey, es ist gut, Entscheidungen zu treffen, oder? Zusammenfassend haben Entwickler zur Beantwortung der ursprünglichen OP-Frage anstelle von Null drei Möglichkeiten, mit JavaScript auf Google Sheets zuzugreifen.
quelle
Hier ist das Wesentliche.
Sie können eine Tabelle mit der Google Sheets-API erstellen . Es gibt derzeit keine Möglichkeit, eine Tabelle mithilfe der API zu löschen (siehe Dokumentation). Stellen Sie sich die Google Text & Tabellen-API als Route zum Erstellen und Nachschlagen von Dokumenten vor.
Sie können Arbeitsblätter innerhalb der Tabelle mithilfe der arbeitsblattbasierten Feeds hinzufügen / entfernen .
Das Aktualisieren einer Tabelle erfolgt entweder über listenbasierte Feeds oder über zellbasierte Feeds .
Das Lesen der Tabelle kann entweder über die oben genannten Google Spreadsheets-APIs oder nur für veröffentlichte Blätter mithilfe der Google Visualization API-Abfragesprache zum Abfragen der Daten erfolgen (die Ergebnisse im CSV-, JSON- oder HTML-Tabellenformat zurückgeben können).
Vergiss jQuery. jQuery ist nur dann wirklich wertvoll, wenn Sie das DOM durchlaufen. Da GAS (Google Apps Scripting) das DOM nicht verwendet, fügt jQuery Ihrem Code keinen Wert hinzu. Bleib bei Vanille.
Ich bin wirklich überrascht, dass noch niemand diese Informationen in einer Antwort angegeben hat. Dies ist nicht nur möglich , sondern auch relativ einfach mit Vanilla JS. Die einzige Ausnahme ist die Google Visualization API, die relativ neu ist (Stand 2011). Die Visualisierungs-API funktioniert auch ausschließlich über einen HTTP-Abfragezeichenfolgen-URI.
quelle
Es gibt eine Lösung, für die keine Veröffentlichung der Tabelle erforderlich ist. Das Blatt muss jedoch freigegeben sein. Insbesondere muss das Blatt so freigegeben werden, dass jeder mit dem Link auf das Arbeitsblatt zugreifen kann. Sobald dies erledigt ist, kann man die Google Sheets HTTP API verwenden.
Zunächst benötigen Sie einen Google API-Schlüssel. Gehen Sie hier: https://developers.google.com/places/web-service/get-api-key NB. Beachten Sie die Sicherheitsauswirkungen der Bereitstellung eines API-Schlüssels für die Öffentlichkeit: https://support.google.com/googleapi/answer/6310037
Holen Sie sich alle Daten für eine Tabelle - Warnung, dies können viele Daten sein.
Blattmetadaten abrufen
Holen Sie sich eine Reihe von Zellen
Mit diesen Informationen kann man nun AJAX verwenden, um Daten abzurufen und sie dann in JavaScript zu bearbeiten. Ich würde die Verwendung von Axios empfehlen .
quelle
Update 2016 : Am einfachsten ist die Verwendung der Google Apps Script-API, insbesondere des SpreadSheet-Dienstes . Dies funktioniert für private Blätter, im Gegensatz zu den anderen Antworten, bei denen die Tabelle veröffentlicht werden muss.
Auf diese Weise können Sie JavaScript-Code an ein Google Sheet binden und ausführen, wenn das Blatt geöffnet wird oder wenn ein Menüelement (das Sie definieren können) ausgewählt ist.
Hier ist ein Schnellstart / eine Demo . Der Code sieht folgendermaßen aus:
Du kannst auch solche Skripte auch als Web-Apps veröffentlichen .
quelle
Es sieht so aus, als ob du es kannst, aber es ist ein Schmerz, es zu benutzen. Dabei wird die Google-Daten-API verwendet.
http://gdatatips.blogspot.com/2008/12/using-javascript-client-library-w-non.html
"Die JavaScript-Clientbibliothek verfügt über Hilfsmethoden für Kalender, Kontakte, Blogger und Google Finanzen. Sie können sie jedoch mit nahezu jeder Google Data-API verwenden, um auf authentifizierte / private Feeds zuzugreifen. In diesem Beispiel wird die DocList-API verwendet."
und ein Beispiel für das Schreiben eines Gadgets, das mit Tabellenkalkulationen verbunden ist: http://code.google.com/apis/spreadsheets/gadgets/
quelle
Die Implementierung von "JavaScript-Zugriff auf Google Text & Tabellen" wäre mühsam, und außerdem ist die Google-Dokumentation nicht so einfach zu beschaffen. Ich habe einige gute Links zu teilen, über die Sie js Zugriff auf gdoc erreichen können:
Vielleicht würden diese Ihnen helfen ..
quelle
Entschuldigung, das ist eine miese Antwort. Anscheinend ist dies seit fast zwei Jahren ein Problem, halten Sie also nicht den Atem an.
Hier ist die offizielle Anfrage, dass Sie "Star" können
Wahrscheinlich können Sie am ehesten Ihren eigenen Dienst mit Google App Engine / Python rollen und jede benötigte Teilmenge mit Ihrer eigenen JS-Bibliothek verfügbar machen. Obwohl ich gerne selbst eine bessere Lösung hätte.
quelle
In dieser sich schnell verändernden Welt sind die meisten dieser Verbindungen veraltet.
Jetzt können Sie Google Drive-Web-APIs verwenden :
quelle
Sie können dies mit Sheetsee.js und tabletop.js tun
quelle
Für diese Art von Dingen sollten Sie Google Fusion Tables verwenden . Die API wurde für diesen Zweck entwickelt.
quelle
Sie können die Daten von Google Sheets-Tabellen in JavaScript mithilfe des RGraph Sheets-Connectors lesen:
https://www.rgraph.net/canvas/docs/import-data-from-google-sheets.html
Ursprünglich (vor einigen Jahren) stützte sich dies auf einige RGraph-Funktionen, um seine Magie zu entfalten - aber jetzt kann es eigenständig arbeiten (dh es wird keine gemeinsame RGraph-Bibliothek benötigt).
Einige Beispielcodes (in diesem Beispiel wird ein RGraph-Diagramm erstellt):
quelle
Ich baue Stein aus, um Ihnen dabei zu helfen. Es bietet auch eine reine HTML-Lösung, falls Sie Daten direkt aus dem Blatt anzeigen möchten. Schau es dir auf steinhq.com an .
quelle