Pushen von Daten auf Google-Tabelle über JavaScript läuft im browser
Arbeite ich an einer web-Anwendung, wo ich möchte, dass der user push-Daten zu Ihrer eigenen Google-Tabelle.
Erstens habe ich versucht zu verwenden Google APIs Client Library for JavaScript, aber es scheint nicht zur Deckung der Spreadsheet-API (https://developers.google.com/apis-explorer/#p/).
Dann beschloss ich, direkt die Google Spreadsheets API-version 3.0. Ich Schaffe es zum abrufen der Benutzer-Tabellen mit jQuery
und JSONP
:
$.ajax({
url: 'https://spreadsheets.google.com/feeds/spreadsheets/private/full?alt=json-in-script&access_token=' + access_token,
dataType: 'JSONP',
success: function(data){
//use the spreadsheets
}
});
In der gleichen Methode rufe ich die Blätter von dem Benutzer ausgewählte Tabelle. Dann muss ich POST
die Daten zu dem ausgewählten Blatt. Und hier kommt das problem: kann es nicht mit JSONP
. Und die Google-server scheint nicht zu unterstützen CORS
. Ich bekomme die folgende Fehlermeldung im browser:
XMLHttpRequest cannot load https://spreadsheets.google.com/feeds/... Origin ..mysite.. is not allowed by Access-Control-Allow-Origin.
Dank für das schauen in diese.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich war auf der Suche in diesem zu über 8 Monate. Ich stolperte über ein blog-Beitrag von Martin geschrieben Hawskey. Ich folgte den Anweisungen hier, und ich war in der Lage, eine HTML-form posten in einer Tabelle.
Effektiv Sie eine veröffentlichte web-app innerhalb der Tabelle, die die Daten empfangen kann. Um rund um die CORS Fragen Sie das Ziel einer versteckten iframe auf der Seite. Ich würde replizieren Sie den code in diesem post, aber es ist ein gutes Stück davon.
DEMO
Werde ich einige Ratschläge, die ich wünschte, ich war da, als ich begann, mich auf diese. Wenn Sie können... versuchen, und richten Sie ein PHP-server, den Sie verwenden können. Die Buchung der Daten ist wesentlich einfacher und flexibler. Ich verwende jetzt Zend GData religiös zu arbeiten und wünschte, ich hatte fand es früher 🙂
BEARBEITEN
Marting Hawskey aktualisiert hat, diese zur Unterstützung einer AJAX-Vorlage ohne die Verwendung von einem versteckten iframe. Siehe hier.
Schritt-für-Schritt - Anleitungen mit screenshots
Nach der Lektüre Martin Hawskey's gute Einführung (zum senden von Daten aus einem HTML-Formular, um eine Google-Tabelle) und sehen ein paar Lücken/Annahmen, die wir beschlossen, schreiben eine detaillierte/umfassende tutorial mit Schritt-für-Schritt-Anweisungen, die, die eine paar Menschen nützlich gefunden haben:
Der script speichert keine Daten gesendet, die über
HTTP POST
in der Google-Tabelle, und Optional leitet den Inhalt an eine E-Mail-Adresse. (nützlich, wenn Sie möchten, um benachrichtigt zu werden, der neue Daten)HTML-Form:
Ergebnis (Zeile in Blatt):
Hoffe es hilft anderen.