如何将Device Hive数据推送至Google Sheets
将Device Hive数据推送至Google Sheets实现同步传输
1. 前置准备
- 拥有Device Hive的管理员权限,能配置Webhook或事件触发器
- 可用的Google账号,能访问Google Sheets并创建Apps Script脚本
2. 配置Google Sheets接收脚本
- 新建Google Sheet,命名为
DeviceHiveDataSync(名称可自定义) - 点击顶部菜单栏「扩展」→「Apps Script」,打开脚本编辑器
- 删除默认代码,替换为以下脚本(根据你的设备数据结构调整字段):
function doPost(e) { try { // 解析Device Hive推送的JSON数据 const payload = JSON.parse(e.postData.contents); // 获取目标工作表(此处默认取第一个工作表) const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // 整理要写入的行数据,字段需和Device Hive推送的结构匹配 const row = [ new Date(), // 记录数据接收时间 payload.deviceId, // 设备ID payload.data.temperature, // 示例:设备上报的温度数据 payload.data.humidity // 示例:设备上报的湿度数据 ]; // 将数据追加到表格末尾 targetSheet.appendRow(row); // 返回成功响应给Device Hive return ContentService.createTextOutput(JSON.stringify({status: "ok"})) .setMimeType(ContentService.MimeType.JSON); } catch (err) { // 返回错误信息用于排查 return ContentService.createTextOutput(JSON.stringify({status: "error", msg: err.toString()})) .setMimeType(ContentService.MimeType.JSON); } }
- 部署Web应用:点击「部署」→「新部署」,选择「Web应用」类型,执行权限选「我自己」,访问权限选「任何人,甚至匿名」(后续可根据安全需求调整),点击部署后复制生成的Web应用URL
3. 配置Device Hive Webhook触发器
- 登录Device Hive控制台,进入「Webhooks」或「Events」管理页面
- 创建新Webhook:
- 触发条件:选择设备上报数据时触发(例如「设备遥测数据上报」事件)
- 目标URL:填入刚才复制的Google Apps Script Web应用URL
- 请求方法:选择
POST,请求格式设置为JSON - 字段配置:勾选需要推送的核心字段(如
deviceId、data等)
- 保存并启用该Webhook
4. 测试同步效果
- 让Device Hive中的设备上报一条测试数据
- 打开目标Google Sheet,确认数据是否已追加到表格中
- 若同步失败,排查方向:
- 检查Apps Script部署的访问权限是否正确
- 查看Device Hive的Webhook日志,确认请求是否发送成功
- 核对脚本中的字段名与Device Hive推送的JSON结构是否匹配
注意事项
- 数据结构适配:务必根据你的设备实际上报的数据结构,修改脚本中
row数组的字段内容 - 安全优化:如果不需要匿名访问,可调整Apps Script的部署权限,或在脚本中添加Device Hive签名验证逻辑
- 限额限制:注意Google Apps Script的调用限额,避免短时间内大量数据推送导致超限
内容的提问来源于stack exchange,提问作者Mirza Aman
相关产品推荐
相关产品推荐

