Google Forms + pushplus:表单提交推到微信
效果:有人提交 Google 表单后,微信收到题目和答卷摘要。
前置条件
- 一个 pushplus token(官网扫码获取)
- 该表单的编辑权限(能打开 Apps Script)
Google 不会替你把答卷映射成 pushplus 字段,要在 onFormSubmit 里自己拼 content。
配置步骤
- 打开表单 → 更多 → 脚本编辑器(或先关联到表格,再在表格里打开脚本)。
- 在脚本属性中保存
PUSHPLUS_TOKEN。 - 写入提交触发器:
function onFormSubmit(e) {
const token = PropertiesService.getScriptProperties().getProperty("PUSHPLUS_TOKEN");
const lines = e.response.getItemResponses().map(function (r) {
return r.getItem().getTitle() + ":" + r.getResponse();
});
const content = lines.join("\n") || "有新的提交,但答卷为空";
UrlFetchApp.fetch("https://www.pushplus.plus/send", {
method: "post",
contentType: "application/json",
payload: JSON.stringify({
token: token,
title: "表单有新提交",
content: content,
template: "markdown"
})
});
}
- 触发器:左侧闹钟图标 → 添加触发器 → 函数选
onFormSubmit,事件来源选「从表单」,事件类型选「提交表单时」。 - 授权访问外部服务。
content必须有字,空答卷时用上面的兜底句。
通用脚本写法见 Google Apps Script。完整参数见 消息接口文档。
验证
curl -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"Google Forms 配置测试","content":"token 可用","template":"markdown"}'
返回 code 为 200 后,用表单预览再提交一条测试答卷。
常见问题
提交了没消息? 看脚本「执行次数」是否有失败;确认触发器绑的是表单提交,而不是表格修改。
答卷里有文件上传? getResponse() 可能是 URL 列表,拼进 content 即可。
收不到消息见 排查说明。