我在哪里可以阅读有关GS文件执行顺序规则的文档?
为了确定问题的维度,我创建了两个简单的对象,每个对象都在自己的文件中.
1_File.gs
var ObjB = new Object();
ObjB.sayName = "[" + ObjA.sayName + "]";
Run Code Online (Sandbox Code Playgroud)
0_File.gs
var ObjA = new Object();
ObjA.sayName = " I'm A ";
Run Code Online (Sandbox Code Playgroud)
像...这样的电话
Logger.log(ObjA.sayName + " : " + ObjB.sayName);
Run Code Online (Sandbox Code Playgroud)
......得到错误......
TypeError: Cannot read property "sayName" from undefined.
Run Code Online (Sandbox Code Playgroud)
如果我将代码从1_File.gs移动到0_File.gs,反之亦然,那么没有错误,日志显示正确...
我是A:[我是A]
将0_File.gs重命名为2_File.gs也不会影响执行顺序,因此我假设该顺序取决于首先创建的文件.
是否没有"包含"或"导入"的概念可以让我明确执行执行顺序?
有人能准确描述Gmail附加脚本的触发条件吗?显然,每次用户在Gmail对话之间导航时都不会调用触发器.
我能找到的唯一文档是https://developers.google.com/gmail/add-ons/how-tos/building#note1,其中说明
唯一可用的上下文触发器类型是无条件的,无论内容如何,都会触发所有电子邮件.
我将此解释为每次用户导航到不同的gmail对话时都会调用触发器,但事实并非如此:
我第一次导航到某个Gmail对话时,会触发加载项触发器.当我使用"较新"或"较旧"角括号按钮导航到另一个对话时,再次为新对话调用触发器.但是,当我浏览回用尖括号按钮,第一页,附加上触发器也不会触发.(很容易通过在创建每个UI卡时显示时间戳来显示这一点.)似乎有某种内部缓存正在进行 - 有没有办法禁用它,或者每次用户运行我的附加脚本在Gmail对话之间导航?
google-apps-script chrome-web-store google-cloud-platform google-apps-script-addon
关于"G Suite/Google Apps API"的可用性,我有几个问题.我想将某种文档/电子表格/演示文稿管理直接集成到我正在构建的应用程序中.
这项服务必须能够导入和导出到DOC/XLS/PPT/PDF等......所以像Feng Office这样的东西(如果你听说过的话)就不适合这种需要.
为此,我正在研究存在这样的事情.在我开始这项努力之前,我想知道:
对于问题的崩溃列表感到抱歉,但如果有人可以帮助解决这些问题,我们将不胜感激.
spryno724
google-api google-docs google-apps-script google-api-client google-drive-api
我想编写一个自定义函数,它有一些强制参数,但也可以接受一些可选参数.我找不到任何关于此的文件.有人知道吗?它与Javascript类似吗?
我正在尝试以下操作将消息符添加到消息框但它无法正常工作.
function showMsgBox(){
var msg = 'name: \n \n \n Doc URL';
Browser.msgBox("Selected Doc template:", msg, Browser.Buttons.OK);
}
Run Code Online (Sandbox Code Playgroud)
单引号或双引号无关紧要.
我也试过,Browser.msgBox(msg);但它都是一样的.
我究竟做错了什么?
谢谢.
我想知道是否有任何选项可以更改使用MailApp.sendEmail发送的电子邮件的FROM地址.
我已经构建了一个作为Web App发布的表单.学生填写并提交表格,并收到一封电子邮件.我看到如何更改电子邮件的回复地址和发件人姓名.我知道电子邮件使用我的地址作为发件人地址,因为我是脚本的所有者,应用程序以我的身份运行.
有没有办法将From地址设置为属于另一个人,在这种情况下,是教师?我假设有一种方法可以让他成为脚本所有者并让他为我们重新发布应用程序,但我宁愿不把它交给他.(根据我的看法,只有脚本所有者才能发布脚本.)
换句话说,我希望From地址代表为其创建脚本的客户端,而不是编写脚本的程序员.
我知道允许脚本从太阳下的任何人发送电子邮件并不是一个理想的功能.我只是想知道是否有人建议如何解决我的问题.
谢谢!
我正在尝试为google docs电子表格中的单元格设置一些值.
function exampleFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range1 = sheet.getRange("A1");
var value1 = range1.getValue();
value1+=1;
range1.setValue(2);
return value1;
}
Run Code Online (Sandbox Code Playgroud)
如果我试图影响具有此功能的单元格,则会出现此错误:
您没有setValue所需的权限.(第10行,文件"ddd")
你知道我怎么能做到这一点吗?我实际上希望受影响的单元格获取单元格A1的值并增加A1 +1的值.
谢谢
permissions google-sheets google-apps-script custom-function
我正在尝试在Google Apps脚本中使用momentjs库,但我不清楚如何这样做.我不确定如何添加库,因此显然运行如下所示的结果"参考错误:'时刻'未定义":
var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
var difference = a.diff(b);
Run Code Online (Sandbox Code Playgroud) 我继续发现GAS中缺少数组函数,例如调用find给出错误:Cannot find function find in object
我能找到的唯一文档有些含糊不清:https: //developers.google.com/apps-script/guides/services/#basic_javascript_features
Apps脚本基于JavaScript 1.6,以及1.7和1.8中的一些功能.因此,除了内置和高级Google服务之外,还可以使用许多基本的JavaScript功能:您可以使用Array,Date,RegExp等常用对象,以及Math和Object全局对象.但是,由于Apps脚本代码在Google的服务器上运行(不是客户端,HTML服务页面除外),因此无法使用基于浏览器的功能(如DOM操作或Window API).
如何查看Array上可用的确切方法?