如何在 Apps 脚本 (.gs) 中获取 URL 并将其传递给 .html 脚本?
How do I grab URL in Apps Script (.gs) and hand it to a .html script?
这是我的第一个问题,我对 js 和 html 还很陌生,所以如果我遗漏了一些明显的东西,请原谅。
目标:我想创建一个脚本,在您的 Google 驱动器中创建一个文件夹,但前提是该文件夹尚不存在。在该文件夹中,它应该创建一个包含某些信息的 .txt。 之后,我想要一个新标签自动打开新创建的 txt 文件的 URL。
如果我在我的 .html 中插入一个正常的 URL(如“https://www.google.com”),一切都很好。然而,我被困在 Apps 脚本将新创建文件的抓取 Url 移交给我的 html.
的部分
感谢任何帮助!
Google Apps 脚本代码 (Code.gs):
function myFunction() {
var FData = "Very important Data"
var destFolder = DriveApp.getFoldersByName("Folder"); //create Drive folder if not already created
var destFolder = destFolder.hasNext() ?
destFolder.next() : DriveApp.createFolder("Folder");
var fileName = "Status.txt"; //create txt file in that folder and add data to it
var newFile = destFolder.createFile(fileName,FData);
var url = newFile.getUrl(); //?GIVE THIS URL TO openUrl.html?
var htmlOutput = HtmlService.createHtmlOutputFromFile('openUrl').setHeight(100);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Opening...');
}
HTML (openUrl.html):
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
var urlToOpen = url; //insert grabbed Url here
var winRef = window.open(urlToOpen);
google.script.host.close();
</script>
</head>
<body>
</body>
</html>
在你的脚本中,做如下修改怎么样?
Google Apps 脚本端:
function myFunction() {
var FData = "Very important Data"
var destFolder = DriveApp.getFoldersByName("Folder");
var destFolder = destFolder.hasNext() ? destFolder.next() : DriveApp.createFolder("Folder");
var fileName = "Status.txt";
var newFile = destFolder.createFile(fileName, FData);
var htmlOutput = HtmlService.createTemplateFromFile('openUrl');
htmlOutput.url = newFile.getUrl();
SpreadsheetApp.getUi().showModalDialog(htmlOutput.evaluate().setHeight(100), 'Opening...');
}
HTML & Javascript 边:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
var urlToOpen = "<?!= url ?>";
var winRef = window.open(urlToOpen);
google.script.host.close();
</script>
</head>
<body>
</body>
</html>
- 当
myFunction()
为 运行 时,HTML 使用 HTML 模板打开一个对话框,其中包括 url
。
参考:
这是我的第一个问题,我对 js 和 html 还很陌生,所以如果我遗漏了一些明显的东西,请原谅。
目标:我想创建一个脚本,在您的 Google 驱动器中创建一个文件夹,但前提是该文件夹尚不存在。在该文件夹中,它应该创建一个包含某些信息的 .txt。 之后,我想要一个新标签自动打开新创建的 txt 文件的 URL。
如果我在我的 .html 中插入一个正常的 URL(如“https://www.google.com”),一切都很好。然而,我被困在 Apps 脚本将新创建文件的抓取 Url 移交给我的 html.
的部分感谢任何帮助!
Google Apps 脚本代码 (Code.gs):
function myFunction() {
var FData = "Very important Data"
var destFolder = DriveApp.getFoldersByName("Folder"); //create Drive folder if not already created
var destFolder = destFolder.hasNext() ?
destFolder.next() : DriveApp.createFolder("Folder");
var fileName = "Status.txt"; //create txt file in that folder and add data to it
var newFile = destFolder.createFile(fileName,FData);
var url = newFile.getUrl(); //?GIVE THIS URL TO openUrl.html?
var htmlOutput = HtmlService.createHtmlOutputFromFile('openUrl').setHeight(100);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Opening...');
}
HTML (openUrl.html):
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
var urlToOpen = url; //insert grabbed Url here
var winRef = window.open(urlToOpen);
google.script.host.close();
</script>
</head>
<body>
</body>
</html>
在你的脚本中,做如下修改怎么样?
Google Apps 脚本端:
function myFunction() {
var FData = "Very important Data"
var destFolder = DriveApp.getFoldersByName("Folder");
var destFolder = destFolder.hasNext() ? destFolder.next() : DriveApp.createFolder("Folder");
var fileName = "Status.txt";
var newFile = destFolder.createFile(fileName, FData);
var htmlOutput = HtmlService.createTemplateFromFile('openUrl');
htmlOutput.url = newFile.getUrl();
SpreadsheetApp.getUi().showModalDialog(htmlOutput.evaluate().setHeight(100), 'Opening...');
}
HTML & Javascript 边:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
var urlToOpen = "<?!= url ?>";
var winRef = window.open(urlToOpen);
google.script.host.close();
</script>
</head>
<body>
</body>
</html>
- 当
myFunction()
为 运行 时,HTML 使用 HTML 模板打开一个对话框,其中包括url
。