google-apps-script - 如何让谷歌表格脚本在移动应用程序上运行?
问题描述
我仔细阅读了论坛并没有找到任何明确的答案(除了编写一个 Android 脚本,但我有一部 iPhone)。根据我在这个精彩论坛上阅读的内容,onEdit 和 onChange 触发器应该可以在移动应用程序上运行。
当我使用桌面应用程序时,我的脚本运行良好。但是,当我使用 Google 表格移动应用程序时,脚本不会运行。我怎样才能让他们运行?
这个解决方案是创建一个Android 插件,但我有一部 iPhone。也许这是一个愚蠢的问题,但我可以在我的 iPhone Google 表格移动应用上运行 Android 插件吗?我认为不会,因为操作系统不兼容,但是发生了更奇怪的事情。
该解决方案说将简单的onEdit
触发器更改为可安装的触发器。什么是可安装触发器?
这个解决方案说使用谷歌的执行 API 创建一个网络应用程序。不知道该怎么做..我以为我已经做到了。在脚本编辑器Publish
>>Deploy as web app
中。我也做过Publish
> Deploy as API executable
。难道我做错了什么?
这是否意味着脚本无法在 iOS 谷歌表格移动应用上运行?
我的脚本:
function onEdit(){
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("pss");
var lr = ss.getLastRow();
var range = ss.getRange("A2:J" + lr);
var vlst = range.getValues();
range.setValues(vlst);
var i,j,a,find,repl;
for (var i = 0; i < vlst.length; i++){
for (var j = 0; j < vlst[i].length; j++){
a = vlst[i][j];
if (a == find) vlst[i][j] = repl;
find ="sun";
repl ="sunshine";
}
}
解决方案
不知道我做了什么,但现在我的onEdit
触发器可以在移动设备上使用!可能是Deploy as API executable
通过延迟激活来激活的?不知道发生了什么,但现在onEdit
触发器工作了,我收到了来自 Google 表格的带有失败报告的电子邮件。不知道为什么当触发器成功时谷歌表格会向我发送失败报告,但我现在不会抱怨它有效!
解决方案也可能是我添加了安装代码:
function createTriggers() {
ScriptApp.newTrigger('onMyEdit')
.forSpreadsheet(SpreadsheetApp.getActive())
.onEdit()
.create();
}
如果您的触发器在 iPhone Google 表格应用程序上不起作用,请尝试激活Deploy as API executable
. 它位于脚本编辑器中,Publish
并将安装代码添加到您的脚本中
推荐阅读
- kubernetes - Flink 应用程序接收器 KafkaProducer 抛出 java 堆空间错误(内存不足)
- c++ - 使用字符分隔符在 C++ 中解析字符串,但在每个解析的子字符串中保留可重复的字符作为分隔符(C++ STL)
- c# - C# 进程 - 管道 devnull 到输入
- spring-kafka - 如何使用spring kafka 2..2版重试
- java - 在 ActiveMQ Artemis 上配置 TLS
- android - 迭代项目数量,自定义适配器
- javascript - 当儿童有“显示:无”时隐藏.card-body
- linux - 简单的 bash 问题,-gt:一元运算符预期错误
- docker - 如何在 MacBook 上为 Docker 使用 NFS 挂载
- c# - 将新表单添加到项目 - Windows 表单应用程序 C#(使用 Macbook)