Autorisations pour récupération de données depuis xlsx via un script
Bonjour,
J'aurai besoin de votre aide pour débloquer l'un de mes scripts fonctionnant pour google sheet.
Mise en contexte : nous envoyons à des clients un fichier Excel qu'ils remplissent avec les quantités qu'ils souhaitent commander. Je réceptionne les Excels. Je les range dans un dossier de mon drive bien spécifique. En parallèle j'ai créé un google sheet qui permet de récapituler l'ensemble des commandes pour avoir un tableau de quantités globales. Ce que j'aimerai faire pour automatiser encore plus le travail, ça serait que le script puisse récupérer les valeurs présentes dans certaines cases des Excels. Seulement j'ai l'impression que je me heurte à un problème d'autorisation. Pourtant je suis bien propriétaire de tous les documents puisqu'il s'agit de mon drive.
Voici la partie de mon script posant problème : (le but étant d'afficher dans la feuille 'reception' certaines informations concernant les Excels, et je rafraichis cette feuille dès qu'un certains nombre d'Excel est reçu)
function Rafraichir(){
var NomDossier = "03 - Commandes reçues Sept 2022";
var Dossier = DriveApp.getFoldersByName(NomDossier);
var Excels= Dossier.next().getFiles();
while (Excels.hasNext()) {
var Excel = Excels.next();
var FeuillesExcel = SpreadsheetApp.open(Excel).getSheets();
var Feuille = FeuillesExcel[0];
var NomClient = Feuille.getRange(1,4).getValue();
app.getUi().alert(NomClient);
var InfoExcel = [[Excel.getDateCreated(),Excel.getName(),Excel.getUrl()]];
reception.getRange(reception.getLastRow()+1,3,1,InfoExcel[0].length).setValues(InfoExcel);
}
}Le problème étant vraiment porté sur les lignes :
var FeuillesExcel = SpreadsheetApp.open(Excel).getSheets();
var Feuille = FeuillesExcel[0];
var NomClient = Feuille.getRange(1,4).getValue();
app.getUi().alert(NomClient);Puisque tout le reste fonctionne correctement.
Le message d'erreur que j'obtiens est le suivant : (avec l'ID qui correspond bien à un des Excels de mon dossier).
Exception: Échec du service Feuilles de calcul lors de l'accès au document portant l'ID _________________________________.
Après quelques recherches j'ai appris que nous pouvions gérer les autorisations d'accès depuis appsscript.json. J'ai donc renseigné à l'intérieur : ('***' = 'https://www' et '+++' = 'com' étant donné que je ne peux pas écrire de lien dans mon post)
"oauthScopes": [
"***.googleapis.+++/auth/spreadsheets",
"***.googleapis.+++/auth/drive"
]Je pensais que cela donnerait à mon script les accès à tous mes fichiers présents dans mon drive. Seulement rien n'y fait je suis toujours bloqué.
Je m'oriente donc vers ce forum pour essayer de trouver un solution.
Je vous remercie !
Simon130