Je souhaite accéder aux feuilles de calcul Google en utilisant uniquement JavaScript (pas de .NET, C #, Java, etc.)
Je suis venu ici et j'ai été choqué de savoir qu'il n'y a PAS d'API pour JavaScript pour accéder à Google Sheets.
Veuillez me dire comment accéder (CRÉER / MODIFIER / SUPPRIMER) Google Sheets à l'aide de JavaScript ou de l'un de ses frameworks comme jQuery.
Réponses:
J'ai créé une bibliothèque javascript simple qui récupère les données de la feuille de calcul Google (si elles sont publiées) via l'API JSON:
https://github.com/mikeymckay/google-spreadsheet-javascript
Vous pouvez le voir en action ici:
http://mikeymckay.github.com/google-spreadsheet-javascript/sample.html
la source
MISE À JOUR janvier 2018 : Lorsque j'ai répondu à cette question l'année dernière, j'ai négligé de mentionner une troisième façon d'accéder aux API Google avec JavaScript, à partir des applications Node.js utilisant son bibliothèque cliente, je l'ai donc ajoutée ci-dessous.
Nous sommes en mars 2017 et la plupart des réponses ici sont obsolètes - la réponse acceptée fait désormais référence à une bibliothèque qui utilise une version plus ancienne de l'API. Une réponse plus actuelle: vous pouvez accéder à la plupart des API Google avec JavaScript uniquement. Google propose 3 façons de le faire aujourd'hui:
Lorsque vous utilisez l'API REST, vous devez gérer et stocker votre code source ainsi qu'exécuter une autorisation en roulant votre propre code d'authentification (voir les exemples ci-dessus). Apps Script gère cela en votre nom, en gérant les données (réduisant la «douleur» comme mentionné par Ape-inago dans sa réponse ), et votre code est stocké sur les serveurs de Google. Mais vos fonctionnalités sont limitées aux services fournis par App Script, tandis que l'API REST donne aux développeurs un accès beaucoup plus large à l'API. Mais bon, c'est bien d'avoir des choix, non? En résumé, pour répondre à la question initiale du PO, au lieu de zéro, les développeurs ont trois façons d'accéder à Google Sheets en utilisant JavaScript.
la source
Voici l'essentiel.
Vous pouvez créer une feuille de calcul à l'aide de l' API Google Sheets . Il n'existe actuellement aucun moyen de supprimer une feuille de calcul à l'aide de l'API (lire la documentation). Considérez l'API Google Docs comme le moyen de créer et de rechercher des documents.
Vous pouvez ajouter / supprimer des feuilles de calcul dans la feuille de calcul à l'aide des flux basés sur la feuille de calcul .
La mise à jour d'une feuille de calcul s'effectue via des flux basés sur des listes ou des flux basés sur des cellules .
La lecture de la feuille de calcul peut être effectuée via les API Google Spreadsheets mentionnées ci-dessus ou, pour les feuilles publiées uniquement , en utilisant le langage de requête de l' API Google Visualization pour interroger les données (qui peut renvoyer des résultats au format CSV, JSON ou HTML).
Oubliez jQuery. jQuery n'a vraiment de valeur que si vous parcourez le DOM. Comme GAS (Google Apps Scripting) n'utilise pas le DOM, jQuery n'ajoutera aucune valeur à votre code. Tenez-vous-en à la vanille.
Je suis vraiment surpris que personne n'ait encore fourni cette information dans une réponse. Non seulement cela peut être fait, mais c'est relativement facile à faire en utilisant vanilla JS. La seule exception étant l'API Google Visualization qui est relativement nouvelle (à partir de 2011). L'API de visualisation fonctionne également exclusivement via un URI de chaîne de requête HTTP.
la source
Il existe une solution qui ne nécessite pas la publication de la feuille de calcul. Cependant, la feuille doit être «partagée». Plus précisément, il faut partager la feuille de manière à ce que toute personne disposant du lien puisse accéder à la feuille de calcul. Une fois que cela est fait, on peut utiliser l'API HTTP Google Sheets.
Tout d'abord, vous avez besoin d'une clé API Google. Allez ici: https://developers.google.com/places/web-service/get-api-key NB. Veuillez noter les ramifications de sécurité liées à la mise à disposition publique d'une clé API: https://support.google.com/googleapi/answer/6310037
Obtenez toutes les données pour une feuille de calcul - attention, cela peut être beaucoup de données.
Obtenir les métadonnées de la feuille
Obtenez une plage de cellules
Maintenant armé de ces informations, on peut utiliser AJAX pour récupérer des données puis les manipuler en JavaScript. Je recommanderais d'utiliser axios .
la source
Mise à jour 2016 : le moyen le plus simple consiste à utiliser l'API Google Apps Script, en particulier le service SpreadSheet . Cela fonctionne pour les feuilles privées, contrairement aux autres réponses qui nécessitent la publication de la feuille de calcul.
Cela vous permettra de lier le code JavaScript à une feuille Google et de l'exécuter lorsque la feuille est ouverte ou lorsqu'un élément de menu (que vous pouvez définir) est sélectionné.
Voici un démarrage rapide / une démo . Le code ressemble à ceci:
Vous pouvez également publier de tels scripts sous forme d'applications Web .
la source
Il semble que vous pouvez, mais c'est pénible à utiliser. Cela implique l'utilisation de l'API de données Google.
http://gdatatips.blogspot.com/2008/12/using-javascript-client-library-w-non.html
"La bibliothèque cliente JavaScript propose des méthodes d'assistance pour Google Agenda, Contacts, Blogger et Google Finance. Cependant, vous pouvez l'utiliser avec à peu près n'importe quelle API Google Data pour accéder aux flux authentifiés / privés. Cet exemple utilise l'API DocList."
et un exemple d'écriture d'un gadget qui s'interface avec des feuilles de calcul: http://code.google.com/apis/spreadsheets/gadgets/
la source
«JavaScript accédant à Google Docs» serait fastidieux à mettre en œuvre et de plus, la documentation de Google n'est pas aussi simple à obtenir. J'ai quelques bons liens à partager par lesquels vous pouvez accéder js à gdoc:
Peut-être que cela vous aiderait.
la source
Désolé, c'est une mauvaise réponse. Apparemment, c'est un problème depuis près de deux ans, alors ne retenez pas votre souffle.
Voici la demande officielle que vous pouvez "star"
Le plus proche est probablement de déployer votre propre service avec Google App Engine / Python et d'exposer le sous-ensemble dont vous avez besoin avec votre propre bibliothèque JS. Bien que j'adorerais avoir une meilleure solution moi-même.
la source
Dans ce monde en évolution rapide, la plupart de ces liens sont obsolètes.
Vous pouvez désormais utiliser les API Web Google Drive :
la source
vous pouvez le faire en utilisant Sheetsee.js et tableop.js
la source
Pour ce type de chose, vous devez utiliser Google Fusion Tables . L' API est conçue à cet effet.
la source
Vous pouvez lire les données des feuilles de calcul Google Sheets en JavaScript à l'aide du connecteur de feuilles RGraph:
https://www.rgraph.net/canvas/docs/import-data-from-google-sheets.html
Initialement (il y a quelques années), cela reposait sur certaines fonctions de RGraph pour fonctionner sa magie - mais maintenant il peut fonctionner de manière autonome (c'est-à-dire ne nécessitant pas la bibliothèque commune RGraph).
Quelques exemples de code (cet exemple crée un graphique RGraph):
la source
Je construis Stein pour vous aider à faire exactement cela. Il fournit également une solution HTML uniquement, si vous souhaitez afficher les données directement à partir de la feuille. Vérifiez-le sur steinhq.com .
la source