我开始在我的开发者控制台中获得一些奇怪的输出.我想知道是否有办法将其关闭.
净状态从IDLE变为BUSY
无论何时调用任何服务器端,都会输出,你可以想象它可能会导致很多混乱.
我在Appmaker for Team Drive中创建了一个工作流程,我在团队驱动下有3个文件夹:被
批准
批准被
拒绝
我正在从待批准的文件夹中发送文件以供批准,如果用户批准,则该文档应移至APPROVED文件夹.REJECTED的逻辑相同.
现在我的问题是如何在Team Drive文件夹之间移动文档.DriveApp.getFolderById(folderId).addFile()没有工作,因为我在Team Drive中不能有多个父级. DriveApp.getFolderById(folderId).createFile()正在工作,但它正在创建一个带有新ID的全新文件,这不符合我的批准工作流程的目的,因为这是一个全新的文件.
有没有办法移动文件或复制/替换任何不会改变我文件ID的操作?我也试过REST API,但找不到任何.
google-apps-script google-app-maker google-drive-shared-drive
我正在处理日期问题。
因此,在应用程序中,我有一个表,该表具有一些用户记录,其中包括出生日期字段(datetime sql类型)。问题是,对于某些出生日期在1954年之前的用户,日期无法正确反映。
例如,我有一个用户的生日是1920年11月8日,但是当我通过服务器脚本设置生日时,它的最终值为11/07/1920 23:23:24。
我从电子表格中获取日期值,服务器脚本如下所示:
function importDOBs(){
var allRecs = [];
var ss = SpreadsheetApp.openById("adfsasdfasdfasdfasdfasdf");
var sheet = ss.getActiveSheet();
var data = sheet.getRange(2,4,sheet.getLastRow(),2).getValues();
for(var i=0; i<5; i++){
var row = data[i];
var date = row[0];
var oldMrn = row[1];
var query = app.models.purgedRecords.newQuery();
query.filters.oldMrn._equals = oldMrn;
var record = query.run()[0];
if(record){
var dob = new Date(date);
record.dateOfBirth = dob;
allRecs.push(record);
}
}
app.saveRecords(allRecs);
}
Run Code Online (Sandbox Code Playgroud)
这些是电子表格中的值(它们是字符串,而不是日期):
1954-03-04T00:00:00
2014-03-01T00:00:00
1951-10-20T00:00:00
1920-11-08T00:00:00
1938-09-27T00:00:00
Run Code Online (Sandbox Code Playgroud)
但是,无论如何我总是得到这个:
如您所见,1954年之前的日期存在差异。到目前为止,我已经尝试了其他方法,例如更改此部分:
if(record){
var dob …Run Code Online (Sandbox Code Playgroud) 我正在开发App Maker应用程序,并从客户端脚本中调用服务器端函数(假设函数a和函数b),它们相互依赖。
客户端脚本中的第一个(本机)解决方案如下,该解决方案使用回调:
function doB(s) {
google.script.run.withSuccessHandler(function(result) { // async workload
console.log(result);
}).withFailureHandler(function(error) {
console.log(error);
}).b(s);
}
function aThenB(s) {
google.script.run.withSuccessHandler(function(result) { // async workload
console.log(result);
doB(result); // call b
}).withFailureHandler(function(error) {
console.log(error);
}).a(s);
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您必须先调用function c,然后再调用d等等,并获得这些相关函数的执行结果,这将变得非常笨拙。我阅读了这篇文章,其中描述了从回调到Promise的转换,例如:
function runnerToPromise(f) {
var runArgs = Array.prototype.slice.call(arguments).slice(1);
return new Promise(function(resolve, reject) { // executor
google.script.run.withSuccessHandler(function(result) {
resolve(result); // resolve promise
}).withFailureHandler(function(error) {
reject(error); // reject promise
})[f].apply(this, runArgs); // async
});
} …Run Code Online (Sandbox Code Playgroud) 是否有可在App Maker中使用的按钮图标列表?例如,当您将按钮的HTML文本字段设置为"编辑"并选择"图标"作为按钮样式时,App Maker会方便地为我提供一个带有铅笔的图标.
现在我正在寻找一个下拉箭头图标,但是一个图标列表对于使我的UI更加干净非常有用.
我是App Maker的新用户,我刚刚开始使用Google App Script进行编码,所以基本上我对这个主题不了解太多,今天我正在使用Google表格中已经存在的应用程序,我必须使用App Maker重新创建它。唯一的问题是,我所有的数据和脚本都存储在Google表格中,而老板要求我不要导入数据,而是将App Maker与电子表格链接起来。例如,我有一个搜索表单,当我单击“提交”按钮时,我得到了用户在表单中输入的值,并将它们放在Google表格中的现有搜索表单中,然后在Google表格中运行脚本,然后获取搜索结果从表格中显示并在App Maker中显示它们,请问有什么建议我该怎么做?
在 Google App Maker 中,我正在 ServerScript 中编写一个函数,用于将用户上传的 Excel 电子表格转换为 Google 电子表格。我正在使用这段代码(/sf/answers/2491835111/),但我得到
ReferenceError:“驱动器”未定义。
我尝试使用直接从链接获得的代码行:
file = Drive.Files.insert(file, xlsxBlob, {
Run Code Online (Sandbox Code Playgroud)
和我自己编辑的版本:
file = Drive.Files.update(file, ssFileID, xlsxBlob, {
Run Code Online (Sandbox Code Playgroud)
ssFileID我想要将用户上传的 Excel 电子表格中的数据插入其中的预制 Google 表格的文件 ID 在哪里。我该如何修复这个错误?
我的预览有效并且有数据,但是我的部署没有数据。我正在使用(推荐)DEFAULT CLOUD SQL数据库配置。
注意:这只是Google App Maker的第四天。找到针对App Maker特定问题的答案非常困难,但是我的应用程序正在快速进步,因此总体上很累但很不错。:{)
Cloud SQL已被锁定,它告诉我联系管理员解锁.
我在IAM和ADMIN上创建了带有服务帐户"appmaker-maestro@appspot.gserviceaccount.com"的Cloud SQL实例.但是App Maker没有看到它.dbForge添加了一些表 - 它没有帮助.
我已经在一个月之前在另一个应用程序中创建了连接,并且它有效.但现在它没有看到SQL.
我正在 Google App Maker 中开发一个性能评估应用程序。我们当前工具面临的挑战之一是,当一个人的经理发生变化或一个人更名时,它不会与我们的 G Suite 目录同步——他们现有的评估与该人的旧姓名相关联,我们有手动更改。
在我的新应用程序中,我有一个员工数据源,其中包含与最初通过目录 API 填充的评估本身的关系。阅读此处的文档,似乎我应该能够在用户资源上设置监视以查找用户更新并解析它们以在我的员工数据源中进行适当的名称和经理更改。但是,我无法弄清楚监视请求的接收 URL 应该是什么。
如果有人在 Google App Maker 中成功完成了此操作,甚至仅在 Google Apps 脚本中完成了此操作,我很想知道您是如何做到的。
编辑添加:
我创建了一个愚蠢的小 GAS 测试函数,看看我是否可以让下面的 @dimu-designs 解决方案起作用。不幸的是,我只是收到一个错误请求错误。这是我所拥有的:
function setUserWatch() {
var optionalArgs = {
"event": "update"
};
var resource = {
"id": "10ff4786-4363-4681-abc8-28166022425b",
"type": "web_hook",
"address": "https://script.google.com/a/.../...hXlw/exec"
};
AdminDirectory.Users.watch(resource);
}
Run Code Online (Sandbox Code Playgroud)
地址是当前的 Web 应用程序 URL。
编辑补充:整个(中)能够用气接收网络挂接已自2014年9月的活跃问题/功能要求- https://issuetracker.google.com/issues/36761910 -这一直@dimu - 设计在上面一段时间。