Vous connaissez certainement Google Sheet, l'excellent tableur en ligne. En tant que développeur, vous êtes amené à utiliser des jeux de données et des APIs. Grâce à quelques manipulations, il est possible d'obtenir un export JSON "live" des données d'un fichier Google Sheet !
Le principe est simple : il suffit de publier son fichier Sheet et d'accéder à une certaine adresse pour lister son contenu au format JSON, qui pourra être consommé par un script d'une application. Les données du fichier peuvent être modifiées, le résultat JSON le sera en direct !
La première étape consiste à rendre public votre fichier afin que l'application qui consommera le JSON puisse y avoir accès.
Pour cela, dans votre fichier Sheets, à partir du menu Fichier, cliquez sur Publier sur le Web :
Dans la fenêtre qui s'ouvre, choisissez la feuille concernée ou laissez par défaut puis cliquez sur le bouton "Publier" :
Votre fichier est désormais accessible depuis n'importe où à partir de son URL, en lecture seulement.
Pour exposer le contenu de votre fichier au format JSON, repérez le nom de votre fichier Sheets présent dans l'URL :
La partie située entre spreadsheets/d/
et /edit
correspond à l'identifiant de votre fichier. Copiez-le et mettez-le de côté.
L'adresse suivante vous permet d'afficher le contenu de votre fichier au format JSON. Remplacez [__IDENTIFIANT_FICHIER_SHEET__]
par l'identifiant copié juste avant :
https://spreadsheets.google.com/feeds/list/[__IDENTIFIANT_FICHIER_SHEET__]/od6/public/values?alt=json
Voici le résultat pour mon fichier :
Le contenu de votre fichier se trouve dans feed.entry
.
Pour obtenir la valeur de ma colonne name_fr
, il suffit de parcourir feed.entry
et de cibler gsx$namefr
.