Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lire les données d'un google sheet

    27 juillet 2016 à 12:03:56

    Hello,

    Je suis en train de développer un site web. J'aimerais lire les contenus des cellules d'un google sheet pour les afficher comme je veux.

    Par exemple, je crée un google sheet avec les colonnes {nom,prenom,tel}, et mon code php vient lire les cellules pour afficher un répertoire.

    Je suis un peu perdu au milieux des google API ou des docs un peu anciennes sur le net....

    Merci,

    -
    Edité par Talango 27 juillet 2016 à 12:04:45

    • Partager sur Facebook
    • Partager sur Twitter
      27 juillet 2016 à 22:23:50

      Salut ! 

      As-tu vu cette partie de l'API google sheet ? https://developers.google.com/sheets/guides/values

      -
      Edité par Torvald 27 juillet 2016 à 22:24:39

      • Partager sur Facebook
      • Partager sur Twitter
      Peut importe ce que disent les autres, vous serez toujours critiqué de toute façon ! - C'est de moi, et je ne suis pas philosophe
        28 juillet 2016 à 13:45:03

        Salut !

        Avec ton article, j'ai essayé la ligne

        $base_url="https://sheets.googleapis.com/v4/spreadsheets/";
        $key =  ;//ma clé de google spreadsheet
        $request_url = $base_url . $key.'/values/Sheet1!A1:H1';
        $xml = simplexml_load_file($request_url) or die("url not loading");

        Hélas, je reçois

        {
          "error": {
            "code": 403,
            "message": "The request cannot be identified with a client project. Please pass a valid API key with the request.",
            "status": "PERMISSION_DENIED"
          }
        }
        

        Je souhaite juste lire les valeurs contenues dans un google sheet. J'ai essayé de jouer avec google API sans succès...

        Un autre tuyau ?

        • Partager sur Facebook
        • Partager sur Twitter
          28 juillet 2016 à 15:49:28

          Dans ce cas, essaie la technique que Google fournit : https://developers.google.com/sheets/quickstart/php
          • Partager sur Facebook
          • Partager sur Twitter
          Peut importe ce que disent les autres, vous serez toujours critiqué de toute façon ! - C'est de moi, et je ne suis pas philosophe
            1 février 2024 à 12:24:14

            Ce sujet est très ancien mais je ne trouve pas de réponse plus récente lors de mes recherches.

            J'ai utilisé ChatGPT pour chercher une méthode pour récupérer le contenu d'une ou plusieurs cellules depuis google Sheet vers un site internet et j'ai validé que cela fonctionnait correctement.

            Cette opération fonctionne pour tout le monde, avec n'importe quel compte google et n'importe quel fichier HTML. Il n'y a pas de Backend, pas de serveur, pas de frais. La seule contrainte est de mettre un fichier excel en "public" donc potentiellement des problèmes de sécurité donc cette partie doit être amélioré pour un déploiement plus sérieux mais c'est mieux que tout ce que j'ai trouvé jusque la :

            1 : Créer le google sheet, le remplir et le partager un "public"

            2 : Récupérer l'ID du google sheet (une suite de chifres et de lettres dans le lien de partage, regarder sur google pour comprendre quoi garder dans ce lien)

            3 : Toujours dans google sheet, cliquez sur Extentions => Apps Script

            4 : Restez dans le fichier Code.gs (fichier par défaut) et remplacez le code par défaut par le code suivant (code généré par ChatGPT) :

            // Remplacez 'ID_DU_DOCUMENT' par l'ID réel de votre document Google Sheets
            var spreadsheetId = 'IDduGoogleSHEET';

            function doGet() {
              // Ouvrir le document Google Sheets
              var sheet = SpreadsheetApp.openById(spreadsheetId).getActiveSheet();
              // Récupérer les valeurs des cellules spécifiées
              var cellA1 = sheet.getRange(1, 1).getValue(); // A1
              var cellB3 = sheet.getRange(3, 2).getValue(); // B3
              var cellC7 = sheet.getRange(7, 3).getValue(); // C7
              // Retourner les données au format JSON
              var response = {
                A1: cellA1,
                B3: cellB3,
                C7: cellC7
              };

              // Configurer la réponse HTTP
              return ContentService.createTextOutput(JSON.stringify(response))
                  .setMimeType(ContentService.MimeType.JSON);
            }
            5 : Enregistrez (icone de disquette), débuggez, et déployez votre script avec les paramètres suivants :
            Déployer => Nouveau Déploiement
            Dans l'engrenage (partie gauche de la fenêtre qui s'est ouverte) => Application web
            Dans la partie droite => Qui a accès => Tout le monde (cette parti peux surement être améliorer)
            6 : Créer votre site web en adaptant le code suivant (code généré par ChatGPT) :
            <!DOCTYPE html>
            <html>
            <head>
              <title>Exemple HTML</title>
            </head>
            <body>
              <h1>Contenu des cellules spécifiées depuis Google Sheets</h1>
              <div id="content"></div>
              <script>
                // Charger le contenu depuis l'URL du script déployé
                fetch('URL_DU_SCRIPT_DÉPLOYÉ')
                  .then(response => response.json())
                  .then(data => {
                    document.getElementById('content').innerHTML = `
                      <p>Contenu de la cellule A1 : ${data.A1}</p>
                      <p>Contenu de la cellule B3 : ${data.B3}</p>
                      <p>Contenu de la cellule C7 : ${data.C7}</p>
                    `;
                  })
                  .catch(error => console.error('Erreur :', error));
              </script>
            </body>
            </html>
            Et voila, reste à faire la mise en page mais ce code fonctionne pour moi !
            • Partager sur Facebook
            • Partager sur Twitter

            Lire les données d'un google sheet

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown