自动从Google AppMaker数据源导出数据

阿勒普

有谁知道我们如何自动Google AppMaker的数据中的数据生成报告例如,在上午12点生成报告),而不是每次用户需要报表时在部署中手动单击导出数据。

我在从Google AppMaker导出数据中看到了类似的内容,但也没有人试图回答。

非常感谢是否有人知道如何解决这个问题:)

吗啡主义

这可以通过使用Installable Triggers来实现

举例来说,您有一个包含学生数据的模型,该模型包含三个字段。名称(字符串),年龄(数字)和年级(数字)。在服务器脚本上,您可以编写如下内容:

//define function to do the data export
function dataExport() {

  //create sheet to populate data
  var fileName = "Students List " + new Date(); //define file name
  var newExport = SpreadsheetApp.create(fileName); // create new spreadsheet
  var header = ["Name", "Age", "Grade"]; //define header
  newExport.appendRow(header); // append header to spreadsheet

  //get all students records
  var ds = app.models.students.newQuery();
  var allStudents = ds.run();

  for(var i=0; i< allStudents.length; i++) {

    //get each student data
    var student = allStudents[i];
    var studentName = student.name;
    var studentAge = student.age;
    var studentGrade = student.grade;

    var newRow = [studentName, studentAge, studentGrade]; //save studen data in a row
    newExport.appendRow(newRow); //append student data row to spreadsheet

  }

  console.log("Finished Exporting Student Data");

}

//invoke function to set up the auto export
function exportData(){

  //check if there is an existing trigger for this process
  var existingTrigger = PropertiesService.getScriptProperties().getProperty("autoExportTrigger");

  //if the trigger already exists, inform user about it
  if(existingTrigger) {

    return "Auto export is already set"; 

  } else { // if the trigger does not exists, continue to set the trigger to auto export data

    //runs the script every day at 1am on the time zone specified
    var newTrigger = ScriptApp.newTrigger('dataExport')
    .timeBased()
    .atHour(1)
    .everyDays(1)
    .inTimezone("America/Chicago")
    .create();

    var triggerId = newTrigger.getUniqueId(); 

    if(triggerId) {
      PropertiesService.getScriptProperties().setProperty("autoExportTrigger", triggerId);
      return "Auto export has been set successfully!";
    } else {
      return "Failed to set auto export. Try again please"; 
    }

  }

}

然后,要删除/停止自动导出,如果需要,也可以在服务器脚本上编写以下内容:

function deleteTrigger() {

  //get the current auto export trigger id
  var triggerId = PropertiesService.getScriptProperties().getProperty("autoExportTrigger");

  //get all triggers
  var allTriggers = ScriptApp.getProjectTriggers();

  //loop over all triggers.
  for (var i = 0; i < allTriggers.length; i++) {

    // If the current trigger is the correct one, delete it.
    if (allTriggers[i].getUniqueId() === triggerId) {

      ScriptApp.deleteTrigger(allTriggers[i]);
      break;

      //else delete all the triggers found  
    } else {

      ScriptApp.deleteTrigger(allTriggers[i]);

    }

  }

  PropertiesService.getScriptProperties().deleteProperty("autoExportTrigger");
  return "Auto export has been cancelled";

}
  • 您可以在此处检查演示应用程序
  • 该脚本属性服务的引用在这里
  • 在时区列表中的引用在这里

我希望这有帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

google appmaker:更新数据源中的字段

如何浏览到加载到Google AppMaker表中的数据源中的下一页

不能自动装配数据源

过滤自动完成数据源

自动装配JdbcTemplate与数据源?

春季启动YAML自动数据源配置问题 - 数据源的URL不会回升

为数据源春开机自动配置

为数据源春开机自动配置

合格数据源的自动装配不起作用

剑道自动完成动态数据源(AngularJS、剑道 ui)

Tableau Desktop 中的自动更新数据源

限制来自动态数据源的 html 元素的数量

无论数据源类型如何,ComboBox 都会自动 DropDownWidth

spring boot如何自动配置特殊数据源的驱动?

如何自动重新加载表视图数据源

当数据源数据发生变化时,antd 表不会自动重新渲染

如何在每次更改数据源时自动更新数据透视表

剑道自动完成数据源显示未找到数据

将过滤后的数据从表格小部件 Google AppMaker 导出到电子表格

SpringBoot2 无法自动配置数据源:未指定“spring.datasource.url”并且无法自动配置嵌入式数据源

在Appmaker中显示数据源总页数的最佳方法

Appmaker - 组合来自两个数据源的字段

如何从DataGrip导出/导入数据源?

数据源自动绑定

从原始数据源获取数据集 - Google Fit REST API

Google Fit REST API“无法获取数据集的数据源:xyz”

Google Data Studio数据连接器-数据源列表中列出的所有版本

无法使用MySQL表数据作为数据源来生成Google图表

如何将GOOGLE用作熊猫数据读取器的数据源?