[一学就会] 自动化脚本开发真香,搭配小白API接口批量处理任务

简介: 自动化开发教程。

自动化脚本开发

通过程序化的脚本处理,可以实现自动批量处理任务,例如任务的下发、任务的状态查询、任务的完成、业绩和产能交付的统计和结算等。通过集合 触动精灵+API接口 就可以快速实现自己想要的效果。做到自己控制自己的客户端、自己管理自己的数据,既快速又更安全。

例如触动精灵,是一款模拟手机触摸、按键操作的软件。通过制作脚本,可以让触动精灵代替双手,自动执行一系列触摸、按键操作。只要能够在手机上完成的人为操作,触动精灵都可以代替完成,不仅省力,而且高效。

小白API接口

在做自动化脚本时,你还需要存一些自己的应用数据,例如客户数据、订单数量、任务数据、素材物料数据这些。还需要在脚本调用API接口查询数据和创建修改数据。这时候,可以使用 YesApi.cn 小白API接口。

小白接口是一个低代码/零代码 API开发平台。提供在线数据表单,支持自定义数据表单和设计表字段,已收录9,000+张数据库表(一键安装)。表单字段:文本/图片/网址/数字/日期时间/人民币/百分比/JSON数据/下拉列表/其他。同时,提供500+API(45款常用数据接口)、支持接口DIY(15套接口模板)、近百个接口示例代码、支持API接口定制。接口分类有:应用接口/常用接口/数据接口/我的接口/定制接口/MySQL接口。

更好用的是,还可以很方便开发自己需要的API数据,有自己的开发能力:在线生成接口/在线开发调试/一键发布接口/接口复制/测试环境/中文编程/低代码。

怎么在脚本调用API接口?

如何请求YesApi小白接口?小白接口的调用,非常简单。

第1步:发起HTTP请求接口

第2步、解析JSON结果,用你的开发语言解析JSON结果,实现你的业务逻辑和功能。


例如:我在脚本请求的API接口链接是:

https://api.yesapi.cn/?s=App.Hello.World&name=YesApi&app_key=CEE4B8A091578B252AC4C92FB4E893C3&sign=6793DDADDB0E4CF7E9611F9899A00589

返回的JSON结果是:

{"ret":200,"data":{"err_code":0,"err_msg":"","title":"Hi YesApi,欢迎使用小白开放接口!"},"msg":"","_t":1682135736,"_auth":"4bb469d44a2fe7df1f4e6967b46b550f"}

格式化一下JSON结果是,

{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "title": "Hi YesApi,欢迎使用小白开放接口!"
    },
    "msg": "",
    "_t": 1682135736,
    "_auth": "4bb469d44a2fe7df1f4e6967b46b550f"
}


小白API有很多好用的功能,例如IP白名单/黑名单,可以防止别人恶意来刷流量;有接口签名和反向验证签名的双向验证,可以避免别人非法请求接口和破解修改服务端数据;还可以自己加密返回数据给客户端自己解密,提高数据安全;还可以自己添加根节点的返回结果字段;如果不需要返回JSON格式,也可以直接就返回一段文本字符串。


自动化脚本任务,需要怎么创建数据表单和添加字段?

做自动化脚本任务,大概的开发流程如下:

批量进行自动化任务时,首先,你要创建一个【任务表单】,这里用了 renwu 这个表单英文名(后面调用接口需要用到)。

同时根据业务需要,我自定义添加了几个表单字段:

  • 任务数据 shuju;
  • 任务目标数量 mubiao;
  • 任务完成数量 wangcheng;
  • 任务状态 zhuangtai;
  • 客户名称 kehu;

建好后的表单结构,

下一步,先添加几条测试数据。

添加几条数据后,就可以看到列表数据了。

自动化脚本任务,有哪些常用基础的数据API接口?

添加和导入好任务数据后,需要最核心、最关键的接口就是获取非重复的任务数据接口。让客户端,可以向服务器获取一条需要下发执行的任务。

这时可以使用:

1)“阅后即焚”接口(专取非重复数据)接口

App.Table.FreePopOne

1831 “阅后即焚”接口(专取非重复数据)

 可以根据自定义的多个条件(AND或者OR),查找获取一条数据,并且在获取数据后更改字段,从而实现非重复数据的获取

2)或者:即用即删接口(专取非重复数据)接口

App.Table.DropOneByOne

1833 即用即删接口(专取非重复数据)

 根据主键id从小到大依次获取数据,取完就立即删除,从而实现非重复数据的获取。此接口即便在高并发下也能保证数据非重复。

“阅后即焚”接口(专取非重复数据)接口,是可以让你在保留任务数据的情况下,进行获取和更新任务。而 即用即删接口(专取非重复数据)接口,就是取一条任务就删除一条任务。

推荐使用 “阅后即焚”接口(专取非重复数据) 接口,它的功能说明如下:

可以根据自定义的多个条件(AND或者OR),查找获取一条数据,并且在获取数据后更改字段,从而实现非重复数据的获取。

前面我在任务表单加了一个【任务状态】的字段,【未开始】表示任务未下发未开始执行;【进行中】表示任务正在执行;【已完成】表示任务已完成。

下一步,就是调用接口在客户端获取一条新任务,接口调用是:

http://api.yesapi.cn/?&s=App.Table.FreePopOne&return_data=0&model_name=renwu&logic=and&where=[["zhuangtai", "=", "未开始"]]&data={"zhuangtai":"进行中"}&order_type=1

其中,where=[["zhuangtai", "=", "未开始"]] 表示我要取出任务状态为【未开始】的任务数据;data={"zhuangtai":"进行中"} 则表示取出数据后 把任务状态改为【进行中】,这样下次再查询就不会重复获取了。

这时,接口会给我返回以下新任务数据:

{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "data": {
            "id": 1,
            "uuid": "",
            "add_time": "2023-04-22 13:20:22",
            "update_time": null,
            "ext_data": null,
            "shuju": "xxxxxxx",
            "mubiao": 10,
            "wangcheng": 1,
            "zhuangtai": "未开始",
            "kehu": "张三"
        },
        "model_name": "renwu"
    },
    "msg": "",
    "_t": 1682141385,
    "_auth": "f2ebf7ccdf88833a0260198a5353c0e7"
}

取到新任务数据后,就可以交给脚本进行其他的自动化操作和处理了。

再查看表单列表数据,已经有一条数据更新为【进行中】了。

当任务进行中,需要上报完成的数量情况时,可以使用:

3)精确更改数值接口(可加可减)接口

App.Table.ChangeNumber

1824 精确更改数值接口(可加可减)

 根据ID,修改某个字段的数值,可增加或可减少。通过在服务端进行数值的叠加,尽量保持并发下的数据一致性。

接口调用:

http://api.yesapi.cn/?&s=App.Table.ChangeNumber&return_data=0&model_name=renwu&id=1&change_field=wangcheng&change_value=1

其中,接口参数 id=1 表示刚才那条新任务的ID;change_field=wangcheng 表示要改变的是【任务完成数量】,change_value=1表示完成数量+1。

接口返回结果:

{

"ret": 200,

"data": {

"err_code": 0,

"err_msg": "",

"change_value": "1",

"after_value": 2,

"model_name": "renwu"

},

"msg": "",

"_t": 1682141799,

"_auth": "8e02c1e7d2a341582dfcdd4b97fa0bfe"

}

最后,当任务完成目标完成时,可以再调用以下接口把任务状态改为【已完成】。

4)精确更新数据接口

App.Table.Update

1809 精确更新数据接口

 根据ID,更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。

接口请求:

http://api.yesapi.cn/?&s=App.Table.Update&return_data=0&model_name=renwu&id=1&data={"zhuangtai":"已完成"}

其中,接口参数 model_name=renwu 表示任务表单;id=1 指定哪条任务;data={"zhuangtai":"已完成"}要修改的任务状态为【已完成】。

接口返回:

{

"ret": 200,

"data": {

"err_code": 0,

"err_msg": "",

"model_name": "renwu"

},

"msg": "",

"_t": 1682142040,

"_auth": "973ce7f42c668f493238fdc021d3e6bb"

}

最后,再看一下任务表单到现在的数据。

上面就是最常用到的任务API接口。如果还需要其他API数据接口,可以看下这里的接口文档。

https://api.yesapi.cn/docs.php?api=App.Table

#

请求方式

接口服务

接口名称

接口描述

1

GET/POST

App.Table.Create

1801 创建新数据接口

 在自定义数据表单中添加一个新数据,添加的字段应先在后台进行添加。

2

GET/POST

App.Table.CheckCreate

1802 创建非重复新数据接口

 在自定义数据表单中添加一个【非重复】新数据,添加的字段应先在后台进行添加。即当数据不存在时则创建,当数据已存在时不进行任何操作。

3

GET/POST

App.Table.MultiCheckCreate

1803 批量创建非重复新数据接口

批量 批量操作,在自定义数据表单中添加一个【非重复】新数据,添加的字段应先在小白开放平台进行添加。

4

GET/POST

App.Table.CheckCreateOrUpdate

1804 创建或更新非重复新数据接口

 在自定义数据表单中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作。

5

GET/POST

App.Table.MultiCheckCreateOrUpdate

1805 批量创建或更新非重复新数据接口

批量 批量版接口,在自定义数据表单中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作。

6

GET/POST

App.Table.MultiCreate

1806 批量创建新数据接口

批量 批量导入多条新数据,导入完毕后会返回导入的概况

7

GET/POST

App.Table.MultiFastCreate

1807 批量极速创建新数据接口

批量 批量极速导入多条新数据,速度很快但无明细,此接口可用于批量导入数据,适用于数据初始化和还原。同时,值得注意的是,此接口因为接近原始的数据导入,因此可以设置小白系统字段:id(不提供时为自增主键)、uuid(用户登录时则自动绑定登录用户)、add_time(不提供时为当前创建时间)、update_time、ext_data。

8

GET/POST

App.Table.MultiFastCreateExt

1808 批量极速创建新数据接口[二分法递归增强版]

批量 批量极速导入多条新数据[二分法递归增强版],此接口的区别在于,若批量创建的数据失败,则会进行对半拆分分别重试创建,从而最大可能导入数据,最大重试深度为4级。其他功能请参见:批量极速创建新数据接口。

9

GET/POST

App.Table.Update

1809 精确更新数据接口

 根据ID,更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。

10

GET/POST

App.Table.MultiUpdate

1810 批量ID更新数据接口

批量 根据多个ID,批量更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。

11

GET/POST

App.Table.FreeUpdate

1811 自由批量更新数据接口

 功能更强大的更新操作,可以根据自定义的多个条件(AND或者OR),更新指定的数据。为防止误更新全表数据,必须至少有一个有效条件。

12

GET/POST

App.Table.Get

1812 精确取数据接口

 根据ID,获取自定义数据表单中的数据

13

GET/POST

App.Table.GetDocx

1813 生成并下载word文档

 根据ID,获取自定义数据表单中的数据,并生成可直接下载的word文档。HTML内容将会被作为普通文本序列化输出。注意,仅当成功时才可下载word文档,失败时依然以接口JSON结果返回。

14

GET/POST

App.Table.MultiGet

1814 批量ID取数据接口

批量 根据批量ID,批量获取自定义数据表单中的数据

15

GET/POST

App.Table.Delete

1815 精确删除数据接口

 根据ID,删除自定义数据表单中的数据

16

GET/POST

App.Table.MultiDelete

1816 批量ID删除数据接口

批量 根据多个ID,批量删除自定义数据表单中的数据

17

GET/POST

App.Table.Count

1817 获取总数接口

 获取自定义数据表单中数据的总条目数量

18

GET/POST

App.Table.FreeAF

1818 分组聚合接口

统计 统计接口,可以根据自定义的多个条件(AND或者OR),进行GROUP聚合操作运算

19

GET/POST

App.Table.FreeCount

1819 自由获取总数接口

 可以根据自定义的多个条件(AND或者OR),获取总数

20

GET/POST

App.Table.FreeExport

1821 全量数据导出TXT或CSV或Excel接口

 可以根据自定义的多个条件(AND或者OR),进行数据导出。成功导出时,此接口会直接生成可供下载的txt或csv文件。个人免费版最多导出5000条,VIP版最多可导出1万条,SVIP版最多可导出15万条。

21

GET/POST

App.Table.FreeQuery

1822 分页查询列表数据接口

 分页获取列表数据或全部数据,支持字段选择、排序、条件查询,功能强大,是最为常用的数据接口。

22

GET/POST

App.Table.FreeLeftJoinQuery

1823 关联查询列表数据接口

关联 有一定复杂度,但可实现功能强大的关联查询,以便实现同时获取两个表单的数据。根据自定义的多个条件(AND或者OR),进行搜索和查询,支持左关联查询,目前只支持关联一个表查询。可以通过文档示例增强对引接口的理解和使用,如有问题,请及时咨询技术客服。

23

GET/POST

App.Table.ChangeNumber

1824 精确更改数值接口(可加可减)

 根据ID,修改某个字段的数值,可增加或可减少。通过在服务端进行数值的叠加,尽量保持并发下的数据一致性。

24

GET/POST

App.Table.FreeChangeNumber

1825 自由更改数值接口(可加可减)

 可以根据自定义的多个条件(AND或者OR),修改某个或多个字段的数值,可增加或可减少。通过在服务端进行数值的叠加,尽量保持并发下的数据一致性。注意,此接口可更新多条数据。

25

GET/POST

App.Table.MultiFreeChangeNumber

1826 批量自由更改数值接口(可加可减)

批量  可以根据自定义的多个条件(AND或者OR),批量修改某个或多个字段的数值,可增加或可减少。通过在服务端进行数值的叠加,尽量保持并发下的数据一致性。注意,此接口可更新多条数据。

26

GET/POST

App.Table.FreeConcact

1827 自由批量拼接字符串(可前可后)

 可以根据自定义的多个条件(AND或者OR),修改某个字段的字符串内容,可以在前面追加拼接,也可以拼接在后面。同时支持分割符。通过在服务端进行字符串的叠加,尽量保持并发下的数据一致性。注意,此接口可更新多条数据。

27

GET/POST

App.Table.FreeFindOne

1828 自由获取一条数据接口

 可以根据自定义的多个条件(AND或者OR),查找获取一条数据

28

GET/POST

App.Table.GetDataAfterChangeNum

1829 加减后返回数据

 可以根据自定义的多个条件(AND或者OR),查找获取一条数据,然后对指定的字段进行加减操作,最后返回最新的数据。

29

GET/POST

App.Table.FreeRandOne

1830 随机获取一条数据接口

 可以根据自定义的多个条件(AND或者OR),随机获取一条数据。获取数据后不会修改或删除数据。

30

GET/POST

App.Table.FreePopOne

1831 “阅后即焚”接口(专取非重复数据)

 可以根据自定义的多个条件(AND或者OR),查找获取一条数据,并且在获取数据后更改字段,从而实现非重复数据的获取

31

GET/POST

App.Table.FreePopAll

1832 “阅后即焚”接口拓展(专取多条非重复数据)

 可以根据自定义的多个条件(AND或者OR),查找获取多条数据(取全部或批量多条),并且在获取数据后批量更改字段,从而实现非重复数据的获取

32

GET/POST

App.Table.DropOneByOne

1833 即用即删接口(专取非重复数据)

 根据主键id从小到大依次获取数据,取完就立即删除,从而实现非重复数据的获取。此接口即便在高并发下也能保证数据非重复。

33

GET/POST

App.Table.FreeMin

1834 自由获取最小值接口

 可以根据自定义的多个条件(AND或者OR),获取某个字段的最小值

34

GET/POST

App.Table.FreeMax

1835 自由获取最大值接口

 可以根据自定义的多个条件(AND或者OR),获取某个字段的最大值

35

GET/POST

App.Table.FreeAggregation

1836 自由聚合运算接口

统计 可以根据自定义的多个条件(AND或者OR),进行SUM/COUNT/MIN/MAX/AVG等聚合运算,同时支持多个字段的聚合运算。

36

GET/POST

App.Table.FreeSum

1837 自由求和接口

 可以根据自定义的多个条件(AND或者OR),计算某个字段的总和

37

GET/POST

App.Table.FreeDelete

1838 自由批量删除数据接口

 可以根据自定义的多个条件(AND或者OR),删除多条数据。数据一旦删除,无法恢复,请谨慎操作!

38

GET/POST

App.Table.FreeMultiCal

1839 批量四则运算接口

批量 根据条件,批量进行四则运算,即:加/减/乘/除。例如,field=x,op=add,number=1,组合起来表示:x=x+1。

39

GET/POST

App.Table.GetFiledDailyDataReport

1840 获取单字段的每日统计报表

统计 针对单个字段,获取两个周期内每日的统计报表,可以统计总数或总条目数量,即:sum({field}) 或 count({field})。

40

GET/POST

App.Table.FreeTree

1841 获取树状分类数据接口

 可以根据自定义条件获取树状分类的数据,可用于:组织架构、目录分类、网站菜单、级联地址等场景。要求:表单结构中须含有指向父级的ID。当前最多一次性获取两层。

41

GET/POST

App.Table.Transfer

1842 点对点同级账号“转账”接口

 在同一个表单内的同一字段,进行点对点同级“转账”操作。例如:把A账号的100积分转到B账号的积分。要求:转出和转入账号纪录已经存在且必须唯一;字段类型和“转账”数量均为整数;符合交换律和零和(即A转给B,然后B再转给A后,恢复和最初的一样)。

42

GET/POST

App.Table.GetOneDataByOneField

1843 根据单字段获取一条数据

 根据一个字段快速获取其他字段的数据。

43

GET/POST

App.Table.GetMoreDataByMoreField

1844 根据多字段获取多条数据

 根据一个字段或多个字段取一条或多条数据。最多返回20条。

44

GET/POST

App.Table.GetFieldDropdownList

1845 获取字段下拉列表

 获取指定字段的下拉列表,全表去重后顺序显示。最多显示前面1000条。

45

GET/POST

App.Table.FreeReplace

1846 批量替换字符串字段

批量  针对表单的单个字段,根据指定的查找值和替换值进行自定义条件的批量替换


补充功能:怎么分享任务数据给好友?

如果需要给别人查看任务的实时情况,可以创建一个数据分享链接,别人只能查看不能修改,还能设置访问密码。

先创建一个【任务数据分享】链接,

然后就可以分享出去了,

到这里,就介绍完了。

相关文章
|
19天前
|
运维 监控 Devops
自动化运维的魔法:如何利用Ansible简化日常任务
【8月更文挑战第24天】在快速迭代的互联网时代,运维效率成为企业竞争力的关键。本文将介绍一种强大的自动化工具——Ansible,它如何通过简化配置管理和自动化部署来提升运维效率。你将了解到Ansible的基本概念、优势以及如何应用它来优化你的工作流程。让我们一起探索这个自动化的魔法世界,释放运维的潜能!
114 60
|
13天前
|
存储 JSON API
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
——在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口(如淘宝开放平台提供的API)允许开发者获取淘宝商品的各种信息,包括商品详情。然而,需要注意的是,直接访问淘宝的商品数据API通常需要商家身份或开发者权限,并且需要遵循淘宝的API使用协议。
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
|
9天前
|
运维 应用服务中间件 nginx
自动化运维:使用Ansible简化日常任务
【9月更文挑战第2天】在快速迭代的软件开发周期中,高效可靠的运维成为项目成功的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常运维任务,从基础概念到实战应用,带你一步步构建自动化运维流程,解锁更高效的工作方式。
|
9天前
|
运维 Linux 测试技术
自动化运维:使用Python脚本简化日常任务
【8月更文挑战第34天】在快节奏的IT环境中,自动化运维成为提升效率、降低错误率的关键。本文以Python脚本为例,展示如何通过编写简单的脚本来自动化日常运维任务,如批量更改文件权限、自动备份数据等。文章不仅提供代码示例,还探讨了自动化运维带来的益处和实施时应注意的问题。
|
9天前
|
运维 监控 网络安全
自动化运维:使用Python脚本简化日常任务
【8月更文挑战第33天】在本文中,我们将深入探讨如何通过Python脚本来自动化执行常见的运维任务。从基础的服务器健康检查到复杂的部署流程,Python因其简洁和功能强大的特性,成为自动化工具的首选。文章将展示编写Python脚本的基本方法,并通过实际示例演示如何应用于真实场景,旨在帮助读者提升效率,减少重复性工作。
|
12天前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible简化日常任务
【8月更文挑战第31天】告别繁琐,拥抱高效。本文带你领略Ansible的魅力,通过具体示例展示如何用它来自动化你的日常IT运维任务。准备好让你的服务器管理工作变得简单而有趣!
|
13天前
|
运维 监控 调度
自动化运维:使用Python脚本简化日常任务
【8月更文挑战第30天】本文通过介绍如何使用Python脚本来简化和自动化日常的运维任务,旨在帮助读者提升工作效率。文章将重点介绍如何使用Python的基本库以及如何创建简单的脚本来处理文件、监控服务器状态和自动化备份过程。我们将从基础开始,逐步深入到更复杂的应用场景,使读者能够根据实际需要编写自己的自动化脚本。
|
15天前
|
机器学习/深度学习 运维 Ubuntu
自动化运维:使用Ansible简化日常任务探索Python编程之美:从基础到进阶
【8月更文挑战第28天】在快速迭代的软件开发周期中,运维工作的效率至关重要。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常的运维任务,通过代码示例展示如何配置和使用Ansible,以及它如何帮助提升工作效率和减少人为错误。文章将深入讨论Ansible的核心概念,包括Playbooks和Tasks,并探讨如何利用这些概念进行高效的系统管理。 【8月更文挑战第28天】在数字时代的浪潮中,编程已成为一门艺术和科学。本文将通过Python语言的镜头,带领读者踏上一段从零基础到熟练运用的旅程。我们将一起探索Python的简洁语法、强大库支持以及它在数据科学、网络开发等领域的应用。无论你
|
15天前
|
运维 JavaScript 安全
自动化运维:使用Ansible简化日常任务深入理解Node.js事件循环和异步编程
【8月更文挑战第27天】在快节奏的技术环境中,自动化不再是奢侈品,而是必需品。本文将引导你通过Ansible实现自动化运维,从基础到高级应用,解锁高效管理服务器群的秘诀,让你的IT操作更加流畅和高效。
|
20天前
|
Web App开发 JSON 测试技术
精通Postman接口测试:关联技术与自动化实践指南
这篇文章详细介绍了如何使用Postman进行接口测试,包括关联技术、自动化实践,以及如何通过环境变量和全局变量解决接口之间的关联性问题。
21 0
精通Postman接口测试:关联技术与自动化实践指南