Skip to Content
社媒助手

社媒助手

功能指南数据上报

数据上报

此功能需要用户具有一定研发能力才能使用,主要用于将数据上报到指定服务器中。

大部分用户,采集完数据之后,都需要进行二次加工才能获取到自己需要的数据。例如通过扣子工作流进行数据分析、上传到飞书进行汇总、集成到自己的业务系统中等。

通过此功能,用户可以将采集到的数据,上传到任意服务之中,想怎么处理就怎么处理。

不单是采集到的数据,正常浏览所访问的数据也能上报。

参数说明

规则可以有多个,互不冲突。符合URL匹配规则中的任意一条规则的都会上报至回调接口之中。

添加规则

规则名称

规则的名称,用于标识不同规则。

回调地址

用于接收上报数据的API接口地址。

请求方式

用于接收上报数据的API接口的请求方法(POST、PUT、PATCH)。

请求头配置

用于接收上报数据的API接口所需的请求头,可配置自己的鉴权参数信息。Content-Type默认为application/json; charset=utf-8

URL匹配规则

当前回调地址需要接收的接口信息。符合规则内某个条件的接口才会进行上报。

仅支持上报JSON响应内容,非JSON响应的接口,即便符合条件也不会进行上报。

请求方式

需要进行过滤的请求方法(GET、POST、PUT、PATCH、DELETE、*)。

匹配模式

请求URL的匹配模式,支持使用通配符*。使用的是webext-core 提供的MatchPattern进行的匹配。

import { MatchPattern } from '@webext-core/match-patterns'; const xiaohongshu = new MatchPattern('*://*.xiaohongshu.com'); xiaohongshu.includes('https://www.xiaohongshu.com'); // true xiaohongshu.includes('https://xiaohongshu.com/search?q=test'); // true const douyin = new MatchPattern('*://www.douyin.com/aweme/v1/web/aweme/detail/'); douyin.includes('https://www.douyin.com/aweme/v1/web/aweme/detail/'); // true douyin.includes('https://www.douyin.com/aweme/v1/web/aweme/detail/?aweme_id=7521945967403928891'); // true douyin.includes('https://www.douyin.com/aweme/v1/web/hot/search/list/'); // false
如需根据请求body或响应内容进行过滤,请自行再回调接口内实现,插件不做支持。

上报内容

上报内容为JSON格式,放在请求body之中,目前共四个字段。

{ "url": "string", // 请求的URL "method": "string", // 请求的方法 "body": {}, // 请求的body,一般为JSON格式,部分请求可能为空 "result": {} // 本次请求的响应数据,JSON格式 }

CORS

CORS

回调接口务必开启CORS,否则将无法成功上报。

CORS

回调接口示例

下面的示例为NodeJSexpress框架服务,/reporting就是用于接收上报数据的接口,获取到数据后可自行处理,例如提交到Coze工作流、保存到数据库等。

const express = require('express'); const cors = require('cors'); const bodyParser = require('body-parser'); const app = express(); // 开启跨域支持 app.use(cors()); // body解析 app.use(bodyParser.json()); app.get('/', (req, res) => { res.send('Hello World!'); }); app.post('/reporting', async (req, res) => { const { url, method, body, result } = req.body; console.log(`接收到上报数据. url: ${url}, method: ${method}, body: ${body?JSON.stringify(body):''}, result: ${JSON.stringify(result)}`); res.json({ success: true }); }); app.listen(8080);
最后更新于