IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

SpreadsheetApp.openById. Required permissions


Sujet :

APIs Google

  1. #1
    Membre à l'essai
    Homme Profil pro
    aucune
    Inscrit en
    juin 2022
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : juin 2022
    Messages : 19
    Points : 16
    Points
    16
    Par défaut SpreadsheetApp.openById. Required permissions
    Bonjour.

    Je tente d'accéder à un fichier depuis un autre, en utilisant.
    Mon script est une version scriptée de la formule =IMPORTRANGE()
    Avec la formule, je n'ai aucun souci.
    Par contre le script m'impose d'utiliser openById.
    Et openById m'impose une gestion des autorisations que je ne comprends pas.

    J'ai suivi la doc. J'ai activé appscript.json dans le script de ma google sheet.
    C'est à dire la fiche qui contient le script, et qui chercher à accéder à une autre fiche.
    Je préciser que les deux fiches sont hébergées sur mon drive. L'une en racine du dossier du projet. L'autre dans un sous dossier.

    Dans mon onglet appscript.json j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {
      "timeZone": "Europe/Berlin",
      "dependencies": {},
      "exceptionLogging": "STACKDRIVER",
      "runtimeVersion": "V8"
     
    }
    Qui devient ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {
      "timeZone": "Europe/Berlin",
      "dependencies": {},
      "exceptionLogging": "STACKDRIVER",
      "runtimeVersion": "V8",
      "oauthScopes": ["https://www.googleapis.com/auth/spreadsheets.readonly"]
    }
    Il continue de me dire ceci :
    Exception: You do not have permission to call SpreadsheetApp.openById. Required permissions: https://www.googleapis.com/auth/spreadsheets (ligne 11).

    J'ai essayer de mettre cette permission dans le appscript.json du fichier que je tente de lire, même problème.
    Je ne comprends pas pourquoi j'ai besoin de cette permission, alors que je suis le propriétaire des toutes ces googles sheet.

    Structure :
    J'ai un fichier principale, dans lequel j'ai tous mes scripts, à l'exception de ceux nécessaire pour y accéder à partir d'un autre fichier. Ce fichier principal est le fichier du chef de projet. Puis, j'ai des fichiers dépendants, ceux des membres du projet. Les uns et les autres pioches et écrivent des données chez les uns et les autres. Mais toutes les fonctions sont dans le fichier principal. Le fichier du chef de projet est à la racine. Les fichiers des membre sont dans un dossier dédiée, tout comme les listes d'informations qui ont leur propre dossier.

    Objectif actuel :
    Mon objectif est de récupérer le nom des feuilles d'un autre fichier, ce qui m'impose de passer par un script, et par openByd.
    Dans un second temps, je veux écrire dans un fichier dépendant, avec un script lancé depuis un autre fichier, y compris depuis le fichier principal.

    J'ai vu un tuto anglais super compliqué, et j'ai rien compris. J'ai juste compris que c'était super compliqué.
    Une aide simple en français serait un rêve efficace.

    Bonne journée

  2. #2
    Membre à l'essai
    Homme Profil pro
    aucune
    Inscrit en
    juin 2022
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : juin 2022
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    J'ai un peu avancé.

    J'ai ajouté ceci dans le appscript.json:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
      "oauthScopes": ["https://www.googleapis.com/auth/spreadsheets.readonly","https://www.googleapis.com/auth/spreadsheets.currentonly","https://www.googleapis.com/auth/spreadsheets"]

    Mais ca ne signifie pas que je comprends ce que je fais.


    Mon objectif est le suivant :
    Limité l'accès à certains clients, en lecture seul, pour un seul dossier, avec tous ses fichiers et ses sous-dossier
    Puis autoriser en écriture ces mêmes clients, pour certains fichiers seulement.

    L'écriture dans certaines plages seront limitées avec la protection des données, dans les feuilles elles-mêmes.

    Bonne journée

  3. #3
    Membre à l'essai
    Homme Profil pro
    aucune
    Inscrit en
    juin 2022
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : juin 2022
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Ce que j'ai ajouté dans le message précédent n'aide pas pour les liens dans les formules.
    Ca marche si je passe par un script lancé depuis un bouton, mais depuis une formule qui appel un script.

    J'ai une =Import_data(mod,url) et =Export_data(mode,url) qui vont récupérer et placer des données dans un autre fichier, en utilisant openById, pas de soucis.
    Mais si je met cette fonction dans une cellule, ca continue a me demander une autorisation.

    mode définit le comportement de la function.

    Je suis triste.
    Je me mets en boule.
    Et je pleure, en faisant des mouvements de bascule.

    Bonne journée

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/06/2009, 12h43
  2. [Système] require et Permission denied
    Par TangoZoulou dans le forum Langage
    Réponses: 13
    Dernier message: 19/04/2007, 17h58
  3. Bug sur la prorpiété required d'un TField avec ADO ???
    Par denrette dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/11/2003, 11h04
  4. [PostgreSQL]permission denied
    Par alex2205 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 13/02/2003, 13h27
  5. Permission sur un dossier
    Par Bjorn dans le forum C
    Réponses: 6
    Dernier message: 25/06/2002, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo