【技巧分享】利用AirScript脚本的weebhook及令牌收取本地表格数据写入在线表格
EnterZero
创作者俱乐部成员
年底好忙!
目前多维表中的自动流程可以自动收取数据写入多维表,普通表格自动化流程没有类似功能,本次分享通过本地JSA通过AirScript脚本的weebhook及令牌,向在线表格写入数据的技巧!
需要发送的数据如下:
本地JS代码,具体含义见注释:
function SendToKsheet(){
//这将表格中的数据去除第一行,以二维数组的形式赋予变量Date,二维数组方便等会在线表格直接写入数据;;
//二维数组:[["a","b","c"]["1","2","3"]["4","5","6"]]
var date=Application.Sheets("发送测试").UsedRange.Value2.slice(1);
//将date数据封装,这里也写入了一个需要接收数据的表格名字;
var jsdate={"Context":
{"argv":{"js":date,
"sheet_name": "测试2"
},
}
};
//打印一下JOSN格式的数据,看看有没有错误;
Console.log(JSON.stringify(jsdate))
//AirScript脚本的weebhook
var url="https://www.kdocs.cn/api/v3/ide/file/292625212373/script/V2-4s9NawoFRm9liwYJvzHzO1/sync_task";
//使用fetch方法,方式使用post,按照如下写入请求头headers(发送格式及令牌密匙);body使用JSON.stringify方法转为josn格式
const response = fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"AirScript-Token":"3e3qlYEx1DkjBaZ7f0pzzF"
},
body: JSON.stringify(jsdate)
});
}
在线AirScript代码,具体含义见注释:
var arr=Context.argv.js;//获取发送内容
var row=arr.length+1;//获取内容条数
Application.Sheets(Context.argv.sheet_name).Range(`a2:e${row}`).Value2=arr;//在对应单元格写入收取内容
PS:需要封装的内容建议都封装在argv对象下面,我试了在Context下直接封装表名,收不到对应表名,未深入测试,不知道是不是BUG。
实测效果请看VCR:
再见各位小伙伴!
下次见!!🤩
创作者俱乐部成员