Google Sheets : Automatiser "Autoriser l'accès" formule Importrange

Bonjour,

J’ai un fichier google sheet avec des formules importrange, je voudrais que lorsqu’un utilisateur copie ce fichier il n’ai pas besoin d’aller dans la cellule ou se trouve cette fonction pour faire « autoriser les accès ». Est il possible d’automatiser cette autorisation c’est à dire que dès que la copie du fichier est terminée que l’autorisation d’accès soit immédiate sans action de l’utilisateur dans la zone de la formule.

Merci d’avance

Bonjour Cédric,

C’est un mécanisme de sécurité des ImportRange qu’il n’est pas possible d’éviter.
Il y a une autre limite à l’utilisation des ImportRange avec une copie d’un fichier.
A chaque fois que l’utilisateur autorise l’accès, l’accès est ajouté à une liste. Cette liste est limitée à 600 accès.

Attention donc à ne pas dépasser les 600 autorisations, si c’est le cas, l’importRange ne s’effectuera plus pour les fichiers copiés ensuite.

Pour ce type de problématique, nous avons contourné cela chez Numericoach en développant un script qui n’importe pas les données via un ImportRange, mais vi un script qui copie directement les données dans les feuilles correspondantes. Cela peut se faire via un menu, une extension.

J’espère avoir répondu à votre question.

A votre disposition

salut Gilles

Je serais très intéressé par ce script. Possible de nous le partager?

Par ailleurs, je suis confronté par la limitation des « Importrange » et j aimerais retrouver tous les fichiers ayant cet importrange

Comment puis je trouver cela car je dois avoir pleins de fichiers dont cet importrange n est plus opportun

Je te remercie :wink:

Bonjour,

Nous avons trouvé dans un ancien script que nous avions fait une fonction permettant d’automatiquement autoriser les importRanges :

/**

  • Donner l’autorisation automatiquement pour l’importRange
  • @param {string} token - OAuth2 Token
  • @param {string} spreadsheetId - ID du Spreadsheet qui doit reçevoir l’autorisation
  • return {string} sourceSS - ID du Spreadsheet source des données
    */
    function giveAccess(token = ScriptApp.getOAuthToken(),spreadsheetId ,sourceSSId){
    const options = {
    method: ‹ post ›,
    headers: {
    Authorization: 'Bearer ’ + token
    }
    }
    // Donner l’accès à l’utilisateur pour importrange
    let response = UrlFetchApp.fetch(> [https://docs.google.com/spreadsheets/d/${spreadsheetId}/externaldata/addimportrangepermissions?donorDocId=${sourceSSId},options](https://docs.google.com/spreadsheets/d/${spreadsheetId}/externaldata/addimportrangepermissions?donorDocId=${sourceSSId}`,options)> )
    }

En espérant que cela réponds à votre problématique !
N’hésitez pas à revenir vers nous si vous avez besoin de plus d’informations.

Il semble y avoir eu un problème dans l’URL lors de l’envoi de la fonction

/**

  • Donner l’autorisation automatiquement pour l’importRange
  • @param {string} token - OAuth2 Token
  • @param {string} spreadsheetId - ID du Spreadsheet qui doit reçevoir l’autorisation
  • return {string} sourceSS - ID du Spreadsheet source des données
    */
    function giveAccess(token = ScriptApp.getOAuthToken(),spreadsheetId ,sourceSSId = thisSSId){
    const options = {
    method: ‹ post ›,
    headers: {
    Authorization: 'Bearer ’ + token
    }
    }
    // Donner l’accès à l’utilisateur pour importrange
    let response = UrlFetchApp.fetch(https://docs.google.com/spreadsheets/d/${spreadsheetId}/externaldata/addimportrangepermissions?donorDocId=${sourceSSId},options)
    }

Salut Théo

Merci pour le script

Par contre, je n ai pas eu réponse à ma 2eme question :slight_smile:


_« Par ailleurs, je suis confronté par la limitation des « Importrange » et j aimerais retrouver tous les fichiers ayant cet importrange

Comment puis je trouver cela car je dois avoir pleins de fichiers dont cet importra_nge n est plus opportun »

Hello,

Ptit K, besoin pro ou personnel ?

Hello

Pro

Hello
Tu peux passer par cette page et formulaire pour ton besoin : https://numericoach.fr/prestations/apps-script-2/
Un développeur pourra analyser et remédier sur mesure ton cas professionnel.
Merci

Merci pour ton retour Thierry

Si je comprends bien, il n y a pas de solutions simples deja existantes avec google sheet?

C est forcement avec un script a creer?