Przesyłanie danych do arkusza kalkulacyjnego Google przez JavaScript uruchomiony w przeglądarce

Pracuję nad aplikacją internetową, w której chciałbym umożliwić użytkownikowi przesyłanie danych do jej własnego arkusza kalkulacyjnego Google.

Po pierwsze próbowałem użyć biblioteki klienta API Google dla JavaScript ale wydaje się, że nie pokrywa API arkusza kalkulacyjnego (https://developers.google.com/apis-explorer/#p/).

Następnie zdecydowałem się użyć bezpośrednio Google Spreadsheets API w wersji 3.0. Udaje mi się odzyskać arkusze kalkulacyjne użytkownika za pomocą jQuery i 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
  }
});

W ten sam sposób pobieram arkusze z wybranego przez użytkownika arkusza kalkulacyjnego. Następnie muszę POST DANE do wybranego arkusza. I tu pojawia się problem: nie można tego zrobić używając JSONP. A serwer Google nie obsługuje CORS. W przeglądarce pojawia się następujący błąd:

XMLHttpRequest cannot load https://spreadsheets.google.com/feeds/... Origin ..mysite.. is not allowed by Access-Control-Allow-Origin.

Dzięki za przyjrzenie się temu.
Author: Martin Dimitrov, 2013-11-10

2 answers

Ja też się tym zajmowałem około 8 miesięcy. Natknąłem się na wpis na blogu napisany przez Martina Hawskey . Śledziłem przewodnik tutaj i byłem w stanie skonfigurować formularz HTML do arkusza kalkulacyjnego.

Skutecznie skonfigurować opublikowaną aplikację internetową wewnątrz arkusza kalkulacyjnego, który może odbierać dane. Aby ominąć problemy CORS, kierujesz Ukryty iframe na stronie. Powtórzyłbym kod w tym poście, ale jest go sporo.

DEMO

Podam kilka rad, które chciałbym otrzymać, gdy zacząłem na to patrzeć. Jeśli możesz... spróbuj skonfigurować serwer PHP, którego możesz użyć. Publikowanie danych jest o wiele łatwiejsze i elastyczne. Teraz używam Zend GData w pracy i żałuję, że nie znalazłem go wcześniej:)

EDIT

Marting Hawskey ma zaktualizowano to, aby obsługiwać przesyłanie AJAX bez użycia ukrytego iframe. zobacz tutaj .

 25
Author: dev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-08 21:05:45

Krok po kroku Instrukcje z zrzutami ekranu

Po przeczytaniu Martin Hawskey 'S Dobre wprowadzenie (do wysyłania danych z formularza HTML do arkusza kalkulacyjnego Google) i widząc kilka luk / założeń, postanowiliśmy napisać szczegółowy / kompleksowy samouczek z instrukcjami krok po kroku które A kilka osób uznało za przydatne:

Https://github.com/dwyl/html-form-send-email-via-google-script-without-server

Skrypt zapisuje wszelkie dane wysłane przez HTTP POST w arkuszu kalkulacyjnym Google i opcjonalnie przekazuje zawartość na adres e-mail. (przydatne, jeśli chcesz być powiadamiany o nowych danych )

Formularz HTML:

formularz kontaktowy

Result ( wiersz w arkuszu):

wiersz w arkuszu

Mam nadzieję, że pomoże innym.
 37
Author: nelsonic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-09 15:30:54