J'ai une fonction pour une application web qui copie un modèle, elle reçoit le nom du modèle et l'identifiant du modèle en paramètres.
code.gs
Fonction generate_(idTemplate, nom) {
var template = DriveApp.getFileById(idTemplate); var folder = '文件夹id'; var copyName = name + "-" + CurrentDate;// 添加创建日期 var copy; try { copy = template.makeCopy(copyName, folder); } catch (e) { Logger.log(e.stack); } var nameF = copy.getName(); var linkF = copy.getUrl() Logger.log(nameF,linkF) return getFile(nameF,linkF) // 这些值是我想要传递给客户端的。 }
Cette fonction est ce que j'utilise pour transmettre le nom et l'URL copiés au client. Je sais qu'en JavaScript, pour renvoyer plusieurs paramètres, il doit être implémenté via un tableau.
function getFile(nameF,linkF){ var array = [nameF,linkF]; return array; }
Voici le script client que j'utilise pour essayer de récupérer les données répliquées générées :
HTML
<script> function getValues(){ google.script.run.withSuccessHandler(copyValues).getFile(); } function copyValues(values){ var nameF = values[0]; var urlF = values[1]; console.log(values); console.log(nameF); console.log(urlF); console.log("值成功传递了"); } </script>
J'utilise un bouton pour tester s'il est passé correctement, mais je ne parviens pas à afficher les données, la console du navigateur affiche null lors de l'affichage du journal.
Qu'est-ce que j'aurais pu faire de mal ? Côté client j'ai essayé google.script.run.withSuccessHandler(copyValues).getFile(nameF,linkF);
mais ça n'a pas marché.
<button id="btn" onclick="create(); getValues();"
C'est le bouton qui se déclenche create()
,用于创建复制的脚本,以及getValues();
pour obtenir le nom et l'URL de cette copie. La copie du modèle est créée avec succès, mais le nom de fichier et l'URL ne sont pas récupérés sur le client.
Essayez ceci :
GS :
HTML :
Dialogue:
Ceci est un exemple d'obtention d'informations sur un fichier.
Comme le montre la capture d'écran ci-dessous, lorsque je clique sur le bouton, le nom du fichier et l'URL seront affichés dans la zone de saisie.
Code.gs
HTML_Test.html