Ich arbeite an einer Webanwendung, bei der ich dem Nutzer erlauben möchte, Daten in seine eigene Google-Tabelle zu pushen.
Zuerst habe ich versucht, die Google APIs-Client-Bibliothek für JavaScript zu verwenden, scheint es aber nicht Bedecken Sie die Spreadsheet API ( Ссылка ).
Dann entschied ich mich, direkt die API für Google Spreadsheets API 3.0 zu verwenden. Ich kann die Tabellen des Benutzers mit jQuery
und JSONP
abrufen:
Mit derselben Methode lade ich die Blätter aus der vom Benutzer ausgewählten Tabelle ab. Dann muss ich POST
die Daten auf das ausgewählte Blatt setzen. Und hier kommt das Problem: kann nicht mit JSONP
tun. Und der Google-Server scheint CORS
nicht zu unterstützen. Ich bekomme den folgenden Fehler im Browser:
XMLHttpRequest cannot load https://spreadsheets.google.com/feeds/... Origin ..mysite.. is not allowed by Access-Control-Allow-Origin.
Danke, dass du dir das angeschaut hast.
Ich habe das auch ungefähr acht Monate lang untersucht. Ich stolperte über ein Blogpost von Martin Hawskey . Ich folgte dem Leitfaden und konnte ein HTML-Formular in eine Tabelle schreiben.
Effektiv richten Sie eine veröffentlichte Webanwendung innerhalb der Tabelle ein, die die Daten empfangen kann. Um die CORS-Probleme zu umgehen, greifen Sie auf einen versteckten Iframe auf der Seite zu. Ich würde den Code in diesem Beitrag replizieren, aber es gibt ein gutes Stück davon.
DEMO
Ich werde einige Ratschläge geben, die ich mir wünschte, als ich mich damit beschäftigte. Wenn du kannst ... versuche einen PHP-Server einzurichten, den du benutzen kannst. Das Posten der Daten ist viel einfacher und flexibler. Ich benutze jetzt Zend GData religiös bei der Arbeit und wünschte, ich hätte es früher gefunden: )
BEARBEITEN
Marting Hawskey hat dies aktualisiert, um eine AJAX-Einreichung ohne Verwendung eines versteckten Iframes zu unterstützen. Siehe hier .
Nach dem Lesen von Martin Hawskey guten Einführung ( zum Senden von Daten aus einem HTML-Formular an eine Google-Tabelle ) und ein paar Lücken zu sehen / Annahmen, wir haben uns entschlossen, ein detailliertes / umfassendes Tutorial mit Schritt-für-Schritt-Anleitungen zu schreiben, das für wenige Personen nützlich ist:
Ссылка html -form- < stark> senden -email-via- google-script -ohne Server
Das Skript speichert alle Daten, die über HTTP POST
in Google Spreadsheet gesendet werden, und optional leitet den Inhalt an eine E-Mail-Adresse weiter. ( nützlich, wenn Sie über neue Daten benachrichtigt werden möchten )
Ich hoffe, es hilft anderen.
Tags und Links javascript google-spreadsheet google-spreadsheet-api cors jsonp