Dans cette article, je décris une méthode simple pour récupérer les informations d’un Google Sheet via l’API de Google. Je considère ici que vous avez déjà un compte Google.
Créer son Google Sheet
La première étape est de créer un Google Sheet avec les informations que vous souhaitez remonter. Ces informations peuvent être sur des feuilles différentes, et il est possible d’utiliser la première ligne comme header. Une fois le document créé, il faudra le partager pour le rendre Visible en Lecture aux utilisateurs possédant le lien.
Créer une clé API
Pour pouvoir appeler l’API Google pour lire notre Google Sheet, il faut une clé API. Pour cela, il faut se rendre sur le Google Cloud Platform.
Sur Google Cloud Platform :
- Créez un projet
- Dans les API proposées, cherchez et activez l’API Google Sheets API
- Allez dans la partie Identifiants de votre projet
- Cliquez sur “Créer des identifiants” et choisissez “Clé API”
- Créez et récupérez votre clé API.
Je vous conseille de restreindre l’utilisation de cette clé API pour plus de sécurité.
Appeler l’API
On a maintenant tout ce qu’il faut pour récupérer les informations de notre Google Sheet.
A l’heure où cette article est écrit, l’URL pour joindre l’API Google Sheets est constitué de cette manière :
https://sheets.googleapis.com/v4/spreadsheets/v4/spreadsheets/{ID_SPREADSHEET}/values/{NOM_DE_LA_FEUILLE}!{PLAGE_DE_DONNEES}?key={CLE_API}
ID_SPREADSHEET
: ID de votre Google Sheet, disponible dans l’URL du document (exemple d’url de document: https://docs.google.com/spreadsheets/d/ID_SPREADSHEET/edit) ;NOM_DE_LA_FEUILLE
: Précisez la feuille avec les informations que vous souhaitez récupérer ;PLAGE_DE_DONNEES
: Précisez la plage des données que vous souhaitez récupérer, comme par exemple A1:F200 ;CLE_API
: Clé API créé et récupéré dans le point précédent.
Il suffit alors de faire un GET sur cette url pour récupérer les informations de votre document.
Par exemple, un appel à https://sheets.googleapis.com/v4/spreadsheets/v4/spreadsheets/XXX123/values/FeuilleExemple!A1:D30?key=YYY234
répondra un JSON de ce format :
Avec, dans la partie values
, un array pour chaque ligne.
Pour info, les quotas d’utilisation de l’API Google Sheets permettent jusqu’à 500 requêtes par 100 secondes par projets, et 100 requêtes par 100 secondes par utilisateur.
Transformer la réponse en JS
Nous avons maintenant une API pour récupérer nos données déjà utilisables. Pour un confort d’utilisation, je vous propose de transformer la réponse pour récupérer des objets représentants chaque ligne.
Le code JS :
permet d’avoir :