Chcę mieć dostęp do arkuszy kalkulacyjnych Google przy użyciu wyłącznie JavaScript (bez .NET, C #, Java itp.)
Przyjechałem tutaj i byłem zszokowany, gdy dowiedziałem się, że NIE MA API dla JavaScript, aby uzyskać dostęp do Arkuszy Google.
Proszę, powiedz mi, jak uzyskać dostęp (UTWÓRZ / EDYTUJ / USUŃ) Arkusze Google za pomocą JavaScript lub dowolnej z jego struktur, takich jak jQuery.
Odpowiedzi:
Stworzyłem prostą bibliotekę javascript, która pobiera dane arkusza kalkulacyjnego Google (jeśli są opublikowane) za pośrednictwem interfejsu API JSON:
https://github.com/mikeymckay/google-spreadsheet-javascript
Możesz zobaczyć to w akcji tutaj:
http://mikeymckay.github.com/google-spreadsheet-javascript/sample.html
źródło
AKTUALIZACJA ze stycznia 2018 r . : Kiedy w zeszłym roku odpowiadałem na to pytanie, nie wspomniałem o trzecim sposobie dostępu do interfejsów API Google za pomocą JavaScript, a byłby to dostęp z aplikacji Node.js korzystających z biblioteki klienta, więc dodałem go poniżej.
Jest marzec 2017 r. I większość odpowiedzi tutaj jest nieaktualna - zaakceptowana odpowiedź dotyczy teraz biblioteki korzystającej ze starszej wersji API. Bardziej aktualna odpowiedź: dostęp do większości interfejsów API Google można uzyskać tylko za pomocą JavaScript. Google oferuje dziś trzy sposoby, aby to zrobić:
Korzystając z REST API, musisz zarządzać swoim kodem źródłowym i przechowywać go, a także przeprowadzać autoryzację poprzez toczenie własnego kodu autoryzacji (patrz przykłady powyżej). Apps Script zajmuje się tym w Twoim imieniu, zarządzając danymi (zmniejszając „ból”, o którym wspomina Ape-inago w odpowiedzi ), a Twój kod jest przechowywany na serwerach Google. Ale Twoja funkcjonalność jest ograniczona do usług, które zapewnia skrypt aplikacji, podczas gdy interfejs API REST zapewnia programistom znacznie szerszy dostęp do interfejsu API. Ale hej, dobrze jest mieć wybór, prawda? Podsumowując, aby odpowiedzieć na oryginalne pytanie OP, zamiast zera, programiści mają trzy sposoby uzyskiwania dostępu do Arkuszy Google za pomocą JavaScript.
źródło
Oto streszczenie.
Możesz utworzyć arkusz kalkulacyjny za pomocą interfejsu API Arkuszy Google . Obecnie nie ma możliwości usunięcia arkusza kalkulacyjnego za pomocą interfejsu API (przeczytaj dokumentację). Pomyśl o Google Docs API jako o drodze do tworzenia i wyszukiwania dokumentów.
Możesz dodawać / usuwać arkusze robocze w arkuszu kalkulacyjnym, korzystając z kanałów opartych na arkuszach .
Aktualizowanie arkusza kalkulacyjnego odbywa się za pośrednictwem kanałów informacyjnych opartych na liście lub kanałów opartych na komórkach .
Arkusz kalkulacyjny można odczytać za pomocą wspomnianych powyżej interfejsów API arkuszy kalkulacyjnych Google lub, tylko w przypadku opublikowanych arkuszy , za pomocą języka zapytań interfejsu API wizualizacji Google do wykonywania zapytań dotyczących danych (który może zwracać wyniki w formacie tabeli CSV, JSON lub HTML).
Zapomnij o jQuery. jQuery jest naprawdę wartościowe tylko wtedy, gdy przechodzisz przez DOM. Ponieważ GAS (Google Apps Scripting) nie używa DOM jQuery, nie doda żadnej wartości do Twojego kodu. Trzymaj się wanilii.
Jestem naprawdę zaskoczony, że nikt jeszcze nie podał tej informacji w odpowiedzi. Nie tylko można to zrobić, ale jest to stosunkowo łatwe przy użyciu waniliowego JS. Jedynym wyjątkiem jest interfejs API Google Visualization, który jest stosunkowo nowy (stan na 2011 r.). Interfejs API wizualizacji działa również wyłącznie za pośrednictwem identyfikatora URI ciągu zapytania HTTP.
źródło
Istnieje rozwiązanie, które nie wymaga opublikowania arkusza kalkulacyjnego. Jednak arkusz musi być „udostępniony”. Mówiąc dokładniej, należy udostępnić arkusz w taki sposób, aby każdy, kto ma link, miał dostęp do arkusza kalkulacyjnego. Po wykonaniu tej czynności można użyć interfejsu API HTTP Arkuszy Google.
Po pierwsze, potrzebujesz klucza Google API. Udaj się tutaj: https://developers.google.com/places/web-service/get-api-key NB. Pamiętaj o konsekwencjach bezpieczeństwa publicznego udostępnienia klucza API: https://support.google.com/googleapi/answer/6310037
Pobierz wszystkie dane do arkusza kalkulacyjnego - ostrzeżenie, może to być dużo danych.
Pobierz metadane arkusza
Uzyskaj zakres komórek
Teraz uzbrojony w te informacje, można użyć AJAX do pobierania danych, a następnie manipulowania nimi w JavaScript. Poleciłbym używanie axios .
źródło
Aktualizacja 2016 : Najłatwiej jest użyć Google Apps Script API, w szczególności usługi SpreadSheet Service . Działa to w przypadku arkuszy prywatnych, w przeciwieństwie do innych odpowiedzi, które wymagają opublikowania arkusza kalkulacyjnego.
Umożliwi to powiązanie kodu JavaScript z Arkuszem Google i wykonanie go po otwarciu arkusza lub po wybraniu elementu menu (który można zdefiniować).
Oto przewodnik Szybki start / Demo . Kod wygląda następująco:
Możesz także publikować takie skrypty jako aplikacje internetowe .
źródło
Wygląda na to, że możesz, ale używanie go jest trudne. Polega na wykorzystaniu Google Data API.
http://gdatatips.blogspot.com/2008/12/using-javascript-client-library-w-non.html
„Biblioteka klienta JavaScript zawiera metody pomocnicze dla Kalendarza, Kontaktów, Bloggera i Google Finance. Możesz jednak używać jej z niemal dowolnym interfejsem API danych Google, aby uzyskać dostęp do uwierzytelnionych / prywatnych kanałów. W tym przykładzie zastosowano DocList API.”
i przykład pisania gadżetu, który współpracuje z arkuszami kalkulacyjnymi: http://code.google.com/apis/spreadsheets/gadgets/
źródło
„Dostęp JavaScript do Google Docs” byłby żmudny w implementacji, a ponadto dokumentacja Google również nie jest taka prosta. Mam kilka dobrych linków do udostępnienia, dzięki którym możesz uzyskać dostęp js do gdoc:
Może to by ci pomogło ...
źródło
Przepraszam, to kiepska odpowiedź. Najwyraźniej jest to problem od prawie dwóch lat, więc nie wstrzymuj oddechu.
Oto oficjalna prośba o oznaczenie gwiazdki
Prawdopodobnie najbliższym możliwym osiągnięciem jest wprowadzenie własnej usługi za pomocą Google App Engine / Python i udostępnienie dowolnego podzbioru, którego potrzebujesz, dzięki własnej bibliotece JS. Chociaż sam chciałbym mieć lepsze rozwiązanie.
źródło
W tym szybko zmieniającym się świecie większość tych połączeń jest przestarzała.
Teraz możesz korzystać z internetowych interfejsów API Dysku Google :
źródło
możesz to zrobić za pomocą Sheetsee.js i tabletop.js
źródło
Do tego typu rzeczy powinieneś używać Google Fusion Tables . API jest przeznaczony do tego celu.
źródło
Dane z arkuszy kalkulacyjnych Google możesz czytać w JavaScript za pomocą łącznika RGraph Sheet:
https://www.rgraph.net/canvas/docs/import-data-from-google-sheets.html
Początkowo (kilka lat temu) polegało to na niektórych funkcjach RGraph, aby działać - ale teraz może działać samodzielnie (tj. Nie wymaga wspólnej biblioteki RGraph).
Przykładowy kod (ten przykład tworzy wykres RGraph):
źródło
Buduję Steina, żeby ci w tym pomóc. Zapewnia również rozwiązanie wyłącznie w formacie HTML, jeśli chcesz wyświetlać dane bezpośrednio z arkusza. Sprawdź to na steinhq.com .
źródło