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.
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 .
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:
Result ( wiersz w arkuszu):
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