我有一个Google Apps网站,它是任务的一个实现,它为我提供了一个包含几个列的表(任务,分配给,状态,优先级,截止日期,完成百分比)。
示例数据:
我正在尝试使用App-Scripts访问此列表中的数据。通过SitesApp界面,我可以获得页面中的项目列表,但是当我尝试获取列表项的值时,它只给出了“任务”列,而不是“分配给”,“状态”等。
我得到的代码如下,我正处于能够获取ListItem数组的阶段,但尚未确定我是否能够访问其他列,或者是否有一种正确的方法来访问这些列中的数据。
// 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
给了我看似随意的输出 - 因为我得到了最后一个条目的任务名称,第二个条目的所有者以及第一个条目的状态。
示例输出:
此时我对正在发生的事情以及如何访问这些数据感到非常困惑。有没有人以前解决过这个问题?
答案 0 :(得分:0)
我实际上终于找到了解决这个问题的方法。我的问题是尝试迭代任务列表,因为我应该按列名称获取值。实际上按照我想要的方式运行的代码就是:
// 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()));
}
}