【问题标题】:Accessing Table Data from Sites Task List with Apps-Script使用 Apps-Script 从站点任务列表访问表数据
【发布时间】:2014-02-14 17:23:00
【问题描述】:

我有一个 Google Apps 站点,它是任务的实现,它给了我一个包含几列(任务、分配给、状态、优先级、截止日期、完成百分比)的表格。

示例数据:

我正在尝试使用 App-Scripts 访问此列表中的数据。通过 SitesApp 界面,我可以获取页面中的项目列表,但是当我尝试获取列表项的值时,它只会给我任务列,而不是分配给、状态等。

我得到的代码如下,我正处于能够获取 ListItems 数组的阶段,但尚未确定我是否能够访问其他列,或者是否有一种适当的方法可以访问这些列中的数据。

  // Get the tasks from the page
  Logger.log("Getting all tasks in %s for %s site %s", pageName, appDomain, siteName);
  var page = SitesApp.getSite(appDomain, siteName).getChildByName(pageName)
  var listItems = page.getListItems();
  var columns = page.getColumns();
  Logger.log("Task list length is currently %s items long", listItems.length);


  for(var i in listItems)
  {
    Logger.log(listItems[i].getValueByIndex(i));
  }

listItems[i].getValueByIndex 给了我看似任意的输出 - 因为我得到了最后一个条目的任务名称、第二个的所有者和第一个的状态。

示例输出:

在这一点上,我对正在发生的事情以及如何访问这些数据感到很困惑。以前有人解决过这个问题吗?

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    我实际上设法最终找到了解决这个问题的方法。我的问题是尝试遍历任务列表,而我应该按列的名称获取值。实际上按照我想要的方式运行的代码是这样的:

     // Get the tasks from the page
     Logger.log("Getting all tasks in %s for %s site %s", pageName, appDomain, siteName);
     var page = SitesApp.getSite(appDomain, siteName).getChildByName(pageName)
     var listItems = page.getListItems();
     var columns = page.getColumns();
     Logger.log("Task list length is currently %s items long", listItems.length);
    
    
     for(var i in listItems)
     { 
       for(var x in columns)
       {
        Logger.log(listItems[i].getValueByName(columns[x].getName())); 
       }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多