Durch das Ausführen von JavaScript im Browser werden Daten in die Google-Tabelle übertragen

7

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:

%Vor%

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.

    
Martin Dimitrov 10.11.2013, 08:34
quelle

2 Antworten

14

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 .

    
dev 11.11.2013, 23:48
quelle
16

Schritt-für-Schritt Anweisungen mit Screenshots

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 )

HTML-Formular:

Ergebnis ( Zeile in Blatt ):

Ich hoffe, es hilft anderen.

    
nelsonic 09.06.2016 15:30
quelle