当前位置: 首页 > article >正文

家政维修平台实战09:推送数据到多维表格

目录

  • 1 API调试
  • 2 创建云函数
  • 3 前端调用
  • 整体效果
  • 总结

上一篇我们搭建了服务分类的后台功能,对于分类的图标通过集成TOS拿到了可以公开访问的地址,本篇我们将写入的数据推送至多维表格中。

1 API调试

要想推送多维表格的数据,首先要利用官方的API调试工具进行接口调试,打开地址

https://open.feishu.cn/api-explorer/cli_a8a6a4c77ff9d00c?apiName=create&from=op_doc_tab&project=bitable&resource=app.table.record&version=v1

首先要获取token
在这里插入图片描述
调试的时候先要在多维表格给我们的集成应用开通权限,点击更多,添加我们的应用
在这里插入图片描述
在这里插入图片描述
接着要填入app_token和table_id,这两个参数需要在浏览器打开我们的多维表格获取
在这里插入图片描述
然后就是构造我们的请求体
在这里插入图片描述
构造好之后点击开始调试,可以看到右侧的调试结果,如果看到绿色表示写入成功

2 创建云函数

在飞书上调试成功后,我们就需要在微搭上搭建云函数了。点击新建云函数
在这里插入图片描述
输入函数的名称
在这里插入图片描述
从列表上点击云函数名称,进入编辑器,切换到函数代码,选择前端编辑器
在这里插入图片描述
点击新建文件,创建一个package.json文件
在这里插入图片描述
输入如下的配置

{"name": "app","version": "1.0.0","description": "","main": "index.js","scripts": {},"author": "","license": "ISC","dependencies": {"@cloudbase/node-sdk": "latest","@larksuiteoapi/node-sdk":"latest"}
}

在index.js中输入如下代码

'use strict';
const lark = require('@larksuiteoapi/node-sdk');// 开发者复制该Demo后,需要修改Demo里面的"app id", "app secret"为自己应用的appId, appSecret
const client = new lark.Client({appId: '',appSecret: '',// disableTokenCache为true时,SDK不会主动拉取并缓存token,这时需要在发起请求时,调用lark.withTenantToken("token")手动传递// disableTokenCache为false时,SDK会自动管理租户token的获取与刷新,无需使用lark.withTenantToken("token")手动传递tokendisableTokenCache: true
});
async function getTenantToken() {try {const response = await fetch('https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal', {method: 'POST',headers: {'Content-Type': 'application/json; charset=utf-8'},body: JSON.stringify({app_id: '',app_secret: ''})});const data = await response.json();return data.tenant_access_token;} catch (error) {console.error('获取tenant_access_token失败:', error);return null;}
}exports.main = async (event, context) => {const tenantToken = await getTenantToken();const {name,desc,url,order,status} = eventif (!tenantToken) {return { code: -1, msg: '获取tenant_access_token失败' };}console.log('tenantToken',tenantToken)const res = await client.bitable.v1.appTableRecord.create({path: {app_token: '',table_id: '',},data: {fields:{"分类名称": name,"分类描述": desc,"分类图标": {"text": "分类图标","link": url},"排序值":order,"分类状态": status}},},lark.withTenantToken(tenantToken)
)return {code:0,msg:'写入成功',res:res}};

方法写好之后,点击测试传入必要的参数
在这里插入图片描述
这里的密钥可以在开放平台获取到
在这里插入图片描述

3 前端调用

云函数写好之后,就可以在前端调用了。打开我们的后台应用,在表单提交后调用一下我们的云函数
在这里插入图片描述
入参我们可以从表单提交的参数里获取

() => {$w.cloud.callFunction({name: "addFeishuCategroyRecords", // TCB 云函数名称data: { name:$w.form1.submitParams.data.name,desc:$w.form1.submitParams.data.description,url:$w.form1.submitParams.data.iconUrl ,order:$w.form1.submitParams.data.order,status:'启用'}, // 云函数接收的参数,根据自己创建的云函数入参而定})
}

整体效果

当我们在后台点击提交后,在多维表格就可以看到从微搭侧提交的数据
在这里插入图片描述

总结

我们本篇介绍了如何用云函数调用多维表格的数据写入接口,将前端提交的数据写入进来。总体上集成是有一点难度的,需要先在多维表格里测试好接口,开通需要的权限,在微搭这一侧要把云函数编写完整了才可以顺利集成。

http://www.lryc.cn/news/2385769.html

相关文章:

  • 前端框架token相关bug,前后端本地联调
  • PyQt学习系列05-图形渲染与OpenGL集成
  • 卷积神经网络(CNN)可视化技术详解:从特征学到演化分析
  • 第十天的尝试
  • WHAT - 兆比特每秒 vs 兆字节每秒
  • 业务场景中使用 SQL 实现快速数据更新与插入
  • QT之INI、JSON、XML处理
  • 微信小程序调用蓝牙API “wx.writeBLECharacteristicValue()“ 报 errCode: 10008 的解决方案
  • 【Java基础笔记vlog】Java中常见的几种数组排序算法汇总详解
  • WebRTC与RTSP|RTMP的技术对比:低延迟与稳定性如何决定音视频直播的未来
  • spring cloud alibaba Sentinel详解
  • Kafka + Flink + Spark 构建实时数仓全链路实战
  • React19源码系列之渲染阶段performUnitOfWork
  • Redis中的事务和原子性
  • 怎样把B站的视频保存到本地
  • Vue3前后端分离用户信息显示方案
  • DL00987-基于深度学习YOLOv11的红外鸟类目标检测含完整数据集
  • 黑马程序员C++2024新版笔记 第4章 函数和结构体
  • 数据仓库,扫描量
  • Day126 | 灵神 | 二叉树 | 层数最深的叶子结点的和
  • Python实例题:人机对战初体验Python基于Pygame实现四子棋游戏
  • Vue3性能优化: 大规模列表渲染解决方案
  • 笔记:将一个文件服务器上的文件(一个返回文件数据的url)作为另一个http接口的请求参数
  • 【RocketMQ 生产者和消费者】- 生产者启动源码 - MQClientInstance 定时任务(4)
  • 超全GPT-4o 风格提示词案例,持续更新中,附使用方式
  • Android 自定义SnackBar和下滑取消
  • Netty学习专栏(三):Netty重要组件详解(Future、ByteBuf、Bootstrap)
  • 详解 C# 中基于发布-订阅模式的 Messenger 消息传递机制:Messenger.Default.Send/Register
  • 多场景游戏AI新突破!Divide-Fuse-Conquer如何激发大模型“顿悟时刻“?
  • Java 函数式接口(Functional Interface)