【发布时间】:2015-12-03 18:43:15
【问题描述】:
我的目标是传入 YouTube 频道的 ID,并在给定的时间窗口调用该频道的视频观看指标,将该数据存储在一个数组中,然后将每个视频观看指标按降序传递到 array.length 的一列.
//...key variables
var channelId = sheet.getActiveCell().getValue();
var offsetCell = sheet.getActiveCell().offset(0,2);
//further down the script...
for(i=0; i < dataResponse.items.length; i++) {
var data = [];
var vidDataLen = dataResponse.items.length;
var offsetRange = sheet.getRange(offsetCell, vidDataLen, 0)
data.push(dataResponse.items[i].statistics.viewCount);
//sheet.appendRow(data)
offsetCell.setValue([data])
}
如您所见,我最初使用 appendRow,但我不希望将数据附加到覆盖行中,我希望将数据传递到 offsetCell 的列和行中,然后下降到后续的单元格中。
我的努力
var offsetRange = sheet.getRange(offsetCell, vidDataLen, 0)
正在尝试根据数据数组中的项目数创建一个活动范围,因为这会因每个通道而异。
但是,这不起作用,因为 getRange 不接受对象作为参数。
是否有任何谷歌脚本函数可以用来将数组数据传递到同一列中的偏移单元格和连续单元格中?
注意:在注释掉 offsetRange 变量的情况下运行此脚本会导致 YouTube api 被成功调用,但是,只有 'data' 数组中的一个值被传递到 offsetCell 中
注意 2:我已经在 StackOverflow 上搜索了谷歌脚本问题和相关主题,但是我还没有看到将多个存储值从 API 调用传递到特定范围的偏移单元格(在一列中)的有效或相关解决方案。
【问题讨论】:
标签: google-app-engine google-apps-script google-apps youtube-data-api