[Sheets] Script qui fonctionne malgré le partage

Bonjour,

J'ai un problème d'exécution de script dans une feuille sheets.

Le script lui même fonctionne, du moins lorsque c'est moi qui l'exécute. Le problème, c'est que lorsque je partage ce document (accès à toutes les personnes disposant du lien), ces personnes là ne peuvent pas exécuter le script, ce dernier se met en erreur.

Je n'arrive pas à trouver comment permettre son exécution "au public". Pouvez-vous m'aider svp ?

Merci d'avance !

Kano

Bonjour,

Il est probable qu'il faille demander à chacun d'installer un trigger ou de s'autoriser le script ... quelles sont les fonctions du script ?

Dans ce cas, le lancement d'une simple fonction peut faire l'affaire.

Par exemple, c'est le cas si le script comporte l'envoi d'un email.

Effectivement pour le moment j'ai un script qui envoie la feuille active par email (au format PDF).

Je souhaite également créer un script qui crée une copie d'un document (un modèle) et l'enregistre automatiquement sur mon drive, pour que la personne utilise à chaque fois un modèle vierge... Mais cela viendra plus tard, il faut déjà que je puisse permettre à une personne non connectée à un compte Google d'utiliser un script sans avoir à se connecter ou autre.

Pourriez-vous svp m'en dire davantage sur la solution à laquelle vous pensez ?

J'ai essayé la publication d'un script (déploiement web) mais ça n'a pas l'air de marcher non plus, je suis coincé !

Merci d'avance pour votre aide !

Kano

Regarde si ceci est suffisant : ajoute ce bout de script à ton propre code ... en demandant aux utilisateurs de cliquer sur le menu ajouté

function onOpen() {  
  var menu = [    
    { name: "Autoriser",    functionName: "init"}
  ];  
  SpreadsheetApp.getActiveSpreadsheet()
  .addMenu("➪ Appli ...", menu);
}

function init() {  
  SpreadsheetApp.getActive().toast("L'application est désormais initialisée.");
}

Normalement google devrait demander les autorisations.

Merci pour ton aide, malheureusement cela n'a pas l'air de fonctionner. J'ai un menu supplémentaire qui s'affiche lorsque je suis sur le fichier en tant que propriétaire.

Par contre, lorsque je veux accéder à ce fichier et lancer les scripts en question (scripts rattachés à des formes comme boutons d'action) en n'étant pas connecté à mon compte Gmail , le menu n'apparaît pas et les scripts partent en erreur : " Le script [nom de mon script] a rencontré une erreur."

Juste pour être sûr de mon besoin, voici quelques explications supplémentaires :

- J'ai créé un doc Sheets qui permet de générer des devis à partir d'informations qu'il va renseigner.

- Ce doc Sheets sert donc de "modèle", puisque les zones de saisie doivent rester vierges lorsqu'il ouvre le document.

- Je transmets donc un lien vers une copie du document modèle, à un utilisateur "monsieur toutlemonde" qui doit pouvoir cliquer sur le bouton pour lancer le script, si possible sans avoir besoin d'autoriser ou installer quoi que ce soit.

Je n'arrive pas à faire en sorte qu'un script que j'ai créé puisse être utilisé par un autre utilisateur, je ne comprends pas pourquoi.

Sais-tu ce qui ne va pas ?

Merci encore !

Kano

Pour commencer, est-ce que ceci fonctionnerait chez toi (dans ce cas-ci, c'est moi qui ait créé l'application)

https://docs.google.com/spreadsheets/d/107LyTacoOSxURKqwny0Oiu2hmBZqOjN1As0Il91SIgU/edit?usp=sharing

Par ailleurs, est-ce la copie du document modèle comporte aussi ton script ?

Oui cela semble fonctionner (l'apparition du menu).

J'ai l'impression que le menu "=> Appli..." apparaît lorsque l'on est connecté à un compte Gmail.

En effet lorsque j'ouvre le document dans une fenêtre de navigation privée (pas connecté à mon compte Gmail), il n'apparaît pas.

J'ai oublié de répondre à la question :

Oui la copie du document modèle doit comporter le script (ou en tout cas permettre son exécution) :

- Mon modèle est le devis vierge

- Comme Sheets enregistre automatiquement les modifications, je dois créer une copie du modèle à chaque nouveau devis, et permettre donc à chaque utilisateur de ce "nouveau devis" de l'envoyer par email

J'ai l'impression que le menu "=> Appli..." apparaît lorsque l'on est connecté à un compte Gmail.

En effet lorsque j'ouvre le document dans une fenêtre de navigation privée (pas connecté à mon compte Gmail), il n'apparaît pas.

C'est aussi ce que je craignais ! pas de compte gmail = pas de script !

Il faudrait peut-être réfléchir à une autre solution, soit google form pour introduire les paramètres du devis, puis envoi par mail du devis, soit mini site html qui puiserait ses données dans google sheets.

Est-ce que Google site peut être utilisé en lien avec ma feuille Sheets ?

Google site

je ne connais pas Google site !

D'accord pas de souci, merci beaucoup pour ton aide !

Rechercher des sujets similaires à "sheets script qui fonctionne partage"