首页 > 解决方案 > 使用谷歌脚本功能触发谷歌网络应用

问题描述

在大约一周左右的时间里,我没有成功地尝试从万维网必须提供的所有可用论坛和网站中找到一种使用谷歌脚本功能触发我的谷歌网络应用程序的解决方案。

Google Web Apps 文档说:“当程序向应用程序发送 HTTP GET 请求时,Apps Script 会运行函数 doGet(e)”

所以,我试图触发我的网络应用程序(部署为 webb 应用程序,以我和任何人的身份执行,甚至匿名也可以访问):

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}

通过发送 http get 请求:

function openTab() { UrlFetchApp.fetch("https://script.google.com/macros/s/AKfycbzWKeDgj6DhLsdkeHYWsWRqHbyOa4CnHjHa-rK17hgRxWF0eont/exec"); }

我也试过用 ' 而不是 "

但它不会触发我的 doGet 函数:(

通过说不会触发,我的意思是我期望与单击我的网络应用程序链接相同的结果:

https://script.google.com/macros/s/AKfycbzWKeDgj6DhLsdkeHYWsWRqHbyOa4CnHjHa-rK17hgRxWF0eont/exec

在浏览器中打开一个新选项卡并输出:你好,世界!或显示用户响应的提示,例如:

https://script.google.com/macros/s/AKfycbxQxXgRX6DyrGDyf-G0BkCts5Ty2VpgG4UTAYwcB7ejFF24Ixui/exec

我设法找到了一些有用的东西,但只在deskTop :(

function openTab() {

var url = 'https://script.google.com/macros/s/AKfycbxQxXgRX6DyrGDyf-G0BkCts5Ty2VpgG4UTAYwcB7ejFF24Ixui/exec';

var html = "<script>window.open('" + url + "');google.script.host.close();</script>";

var userInterface = HtmlService.createHtmlOutput(html);

SpreadsheetApp.getUi().showModalDialog(userInterface, 'Open Tab');

}

但这在安卓上不起作用:(

showModalDialog 在 android 上不起作用 :(

所以我想用一个谷歌脚本函数触发我的网络应用程序(当下拉列表中的选择更改为函数名称时使用 onEdit 调用),这将打开我的网络应用程序,它会提示用户在 ANDROID 上做出响应。

我认为 UrlFetchApp.fetch 会做,但没有运气:(

因此,简而言之:以任何形式(如新页面、侧边栏菜单或模式对话框)寻找适用于ANDROID用户响应的提示。

我没看到什么?

标签: javascriptgoogle-apps-script

解决方案


推荐阅读