Saya mempunyai fungsi untuk aplikasi web yang menyalin templat, ia menerima nama templat dan id templat sebagai parameter.
code.gs
Fungsi menjana_(idTemplate, nama) {
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) // 这些值是我想要传递给客户端的。 }
Fungsi ini adalah apa yang saya gunakan untuk menghantar nama dan URL yang disalin kepada pelanggan. Saya tahu bahawa dalam JavaScript, untuk mengembalikan berbilang parameter, ia mesti dilaksanakan melalui tatasusunan.
function getFile(nameF,linkF){ var array = [nameF,linkF]; return array; }
Ini ialah skrip klien yang saya gunakan untuk cuba mendapatkan semula data replika yang dijana:
HTML
Saya menggunakan butang untuk menguji sama ada ia dihantar dengan betul, tetapi saya tidak dapat memaparkan data, konsol penyemak imbas menunjukkan batal apabila menunjukkan log.
Apa yang boleh saya lakukan salah? Di pihak pelanggan saya telah mencubagoogle.script.run.withSuccessHandler(copyValues).getFile(nameF,linkF);
tetapi tidak berjaya.
Cuba ini:
GS:
HTML:
Dialog:
Ini adalah contoh mendapatkan maklumat fail.
Seperti yang ditunjukkan dalam tangkapan skrin di bawah, apabila saya mengklik butang, nama fail dan URL akan dipaparkan dalam kotak input.
Kod.gs
HTML_Test.html