Google Scheet 和 Survey Monkey API 插件的时间触发器
Time trigger on Google Scheet and Survey Monkey API addon
我在大学项目期间使用 SurveyMonkey 收集数据供我的团队使用。
为了轻松阅读和维护数据,我在 Google Scheet 中使用 API Connector Add-On 从 Survey Monkey 下载最新回复,特别是由于我的 Uni 政策,我是我团队中唯一可以访问 Survey Monkey 的人。
问题是我们需要让数据每5分钟刷新一次,因为项目特性,我们必须在每天4小时window和每5小时监控快速发送的响应量分钟。
API 连接器允许我自动重新运行 请求数据,但只能每 1 小时请求一次,这对我和我的团队来说是不够的。我尝试使用 Google 来自 的 Apps 脚本,但不幸的是,由于我缺乏知识,我无法修改以使其工作。
function onInstall() {
onOpen();
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('Schedule')
.addItem('Start Schedule', 'menuItem3')
.addToUi();
}
function menuItem3() {
createTrigger();
}
function createTrigger()
{
ScriptApp.newTrigger('startProcess')
.timeBased()
.everyDays(1)
.create();
}
function startProcess(){
// Add your processing logic here. e.g. send notifications.
}
你能帮助我和我的团队吗?我们真的不是任何类型的程序员(经济学专业的学生),我真的很纠结:(
据我了解,你
- gather information with surveymonkey
- import data from surveymonkey to google sheets
- you want to refresh data from surveymonkey in google sheets every 5 minutes
没错,你应该使用 triggers
。
- 首先,看看 this surveymonkey guide,以防你之前没有这样做过
- 其次让 create/modify 使用下一个代码
script
这里有一个代码示例用于触发测试
function myFunction(){
// change id by your actual spreadsheet ID
var ss = SpreadsheetApp.openById("id").getSheetByName("Sheet1");
var originalRange = ss.getRange("A1");
var destinationRange = ss.getRange("A2");
originalRange.copyTo(destinationRange);
}
它有什么作用?
- 将单元格 A1 复制到 A2,如果您从 Apps 脚本启动它,您将看到正在运行的作品。
但是如何每分钟或每5分钟触发一次呢?
按照下一步指南进行操作:
- 在应用脚本中点击菜单 > 编辑 > 当前项目的触发器
- 将打开带有触发器的新选项卡,时钟显示为蓝色按钮添加触发器
- 在配置块select下参数:
- 选择哪个函数 运行 : myFunction
- Select 事件源:时间驱动
- Select 基于时间的触发器类型:分钟计时器
- Select 分钟间隔:每分钟
所以它看起来像这样
- 点击保存
从现在开始,您的单元格 A1 将每分钟自动复制到 A2
了解这个技巧后,您可以将 API 连接到 myFunction 中,将数据导入 Google Sheet
我希望这对你有帮助,顺便说一句 Google 有像 Google Forms 这样的优质服务,你也可以测试它:)
参考文献:
我在大学项目期间使用 SurveyMonkey 收集数据供我的团队使用。
为了轻松阅读和维护数据,我在 Google Scheet 中使用 API Connector Add-On 从 Survey Monkey 下载最新回复,特别是由于我的 Uni 政策,我是我团队中唯一可以访问 Survey Monkey 的人。
问题是我们需要让数据每5分钟刷新一次,因为项目特性,我们必须在每天4小时window和每5小时监控快速发送的响应量分钟。
API 连接器允许我自动重新运行 请求数据,但只能每 1 小时请求一次,这对我和我的团队来说是不够的。我尝试使用 Google 来自
function onInstall() {
onOpen();
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('Schedule')
.addItem('Start Schedule', 'menuItem3')
.addToUi();
}
function menuItem3() {
createTrigger();
}
function createTrigger()
{
ScriptApp.newTrigger('startProcess')
.timeBased()
.everyDays(1)
.create();
}
function startProcess(){
// Add your processing logic here. e.g. send notifications.
}
你能帮助我和我的团队吗?我们真的不是任何类型的程序员(经济学专业的学生),我真的很纠结:(
据我了解,你
- gather information with surveymonkey
- import data from surveymonkey to google sheets
- you want to refresh data from surveymonkey in google sheets every 5 minutes
没错,你应该使用 triggers
。
- 首先,看看 this surveymonkey guide,以防你之前没有这样做过
- 其次让 create/modify 使用下一个代码
script
这里有一个代码示例用于触发测试
function myFunction(){
// change id by your actual spreadsheet ID
var ss = SpreadsheetApp.openById("id").getSheetByName("Sheet1");
var originalRange = ss.getRange("A1");
var destinationRange = ss.getRange("A2");
originalRange.copyTo(destinationRange);
}
它有什么作用?
- 将单元格 A1 复制到 A2,如果您从 Apps 脚本启动它,您将看到正在运行的作品。
但是如何每分钟或每5分钟触发一次呢?
按照下一步指南进行操作:
- 在应用脚本中点击菜单 > 编辑 > 当前项目的触发器
- 将打开带有触发器的新选项卡,时钟显示为蓝色按钮添加触发器
- 在配置块select下参数:
- 选择哪个函数 运行 : myFunction
- Select 事件源:时间驱动
- Select 基于时间的触发器类型:分钟计时器
- Select 分钟间隔:每分钟
所以它看起来像这样
- 点击保存
从现在开始,您的单元格 A1 将每分钟自动复制到 A2
了解这个技巧后,您可以将 API 连接到 myFunction 中,将数据导入 Google Sheet
我希望这对你有帮助,顺便说一句 Google 有像 Google Forms 这样的优质服务,你也可以测试它:)