简道云 API

注册:https://www.jiandaoyun.com
登陆后转入工作台创建应用(比如啥收集表单,创建啥请假审批流程等)
https://www.jiandaoyun.com/dashboard#/
发布后表单应该有个网址注意下:
file
API接口需要调用上面划线的参数:
发布分享相关设置功能也是比较丰富,自己一顿乱搞吧:
file
file
file
可以对收集的数据进行后期管理操作:
file
有事儿没事儿可以建个虚拟企业组织架构玩一玩,控制相关权限:
file

另一个地方需要获取key
https://www.jiandaoyun.com/profile#/data_interface
初始应该没有key自己新建一个,也是下面API要写入头部。
API参考文档:https://hc.jiandaoyun.com/open/10992
以下基本都是同一个套路调用API获取相关数据:

Json.Document(Web.Contents
("https://api.jiandaoyun.com/api/v1/app/上面划线的appid/entry/上面划线的表单id/widgets",
[Headers=[Authorization="Bearer 你的key",#"Content-Type"="application/json"],
 Content=Json.FromValue([body参数键值对])]))  //widgets是获取forms的表单情况,没有body就传入一个空记录[]

会有表的字段name返回,如果你定义了别名可以后面用别名处理传参。
下面API节点直接抄套路就可以了

查询所有记录
Table.FromRecords(Json.Document(Web.Contents
("https://api.jiandaoyun.com/api/v1/app/5f547bcdfb914c0006dca02e/entry/5f547d528f866e0006bd2838/data",
[Headers=[Authorization="Bearer 3o9eOkeqrg4d9d3ItE5bwt6Inq04GBan",#"Content-Type"="application/json"],
 Content=Json.FromValue([data_id="",limit=100,fields=
{"_widget_1599372620213","_widget_1599372620262"},filter=""])]))[data])
data_id={"5f548104a932130006e812a3,"5f548638a467d80006e5379f,"5f5493684f81ae0006827fdb,"5f54955e5df43e0006b205d1,"5f54aad80318310006b7ea5a"}

单条记录查询
Json.Document(Web.Contents
("https://api.jiandaoyun.com/api/v1/app/5f547bcdfb914c0006dca02e/entry/5f547d528f866e0006bd2838/data_retrieve",
[Headers=[Authorization="Bearer 3o9eOkeqrg4d9d3ItE5bwt6Inq04GBan",#"Content-Type"="application/json"],
 Content=Json.FromValue([data_id="5f548638a467d80006e5379f"])]))[data]

新增数据记录
Json.Document(Web.Contents
("https://api.jiandaoyun.com/api/v2/app/5f547bcdfb914c0006dca02e/entry/5f547d528f866e0006bd2838/data_create",
[Headers=[Authorization="Bearer 3o9eOkeqrg4d9d3ItE5bwt6Inq04GBan",#"Content-Type"="application/json"],
 Content=Json.FromValue([data=[_widget_1599372620213=[value="吹牛逼"],_widget_1599372620262=[value={"吹水","扯淡"}]],is_start_trigger=true])]))[data]
字段如果设置了别名就可以使用别名而不需要_widget_1599372620213这样写!

修改数据
Json.Document(Web.Contents
("https://api.jiandaoyun.com/api/v2/app/5f547bcdfb914c0006dca02e/entry/5f547d528f866e0006bd2838/data_update",
[Headers=[Authorization="Bearer 3o9eOkeqrg4d9d3ItE5bwt6Inq04GBan",#"Content-Type"="application/json"],
 Content=Json.FromValue([data=[_widget_1599372620213=[value="踢皮球"],_widget_1599372620262=[value={"数据获取"}]],data_id="5f548104a932130006e812a3",is_start_trigger=true])]))[data]

删除记录
Json.Document(Web.Contents
("https://api.jiandaoyun.com/api/v1/app/5f547bcdfb914c0006dca02e/entry/5f547d528f866e0006bd2838/data_delete ",
[Headers=[Authorization="Bearer 3o9eOkeqrg4d9d3ItE5bwt6Inq04GBan",#"Content-Type"="application/json"],
 Content=Json.FromValue([data_id="5f548104a932130006e812a3",is_start_trigger=true])]))

流程API获取审批意见
https://api.jiandaoyun.com/api/v1/app/5f547bcdfb914c0006dca02e/entry/5f547d528f866e0006bd2838/data/data_id
号/approval_comments 
有个skip参数
Table.FromRecords(Json.Document(Web.Contents
("https://api.jiandaoyun.com/api/v1/app/5f54accfdd5320000641ca69/entry/5760cac3551b8b4c253e7e93/data",
[Headers=[Authorization="Bearer 0xhPKkes212aqyt4E3DybjcwVQBHRWu9",#"Content-Type"="application/json"],
 Content=Json.FromValue([])]))[data])

Json.Document(Web.Contents("https://api.jiandaoyun.com/api/v1/app/5f54accfdd5320000641ca69/entry/5760cac3551b8b4c253e7e93/data/5f54ad5e5df43e0006b292a7/approval_comments",
[Headers=[Authorization="Bearer 0xhPKkes212aqyt4E3DybjcwVQBHRWu9",#"Content-Type"="application/json"],
 Content=Json.FromValue([])]))[approveCommentList]

通讯录
POST https://api.jiandaoyun.com/api/v2/department/10/member_list -(递归)获取部门成员
Json.Document(Web.Contents("https://api.jiandaoyun.com/api/v2/department/1/member_list",
[Headers=[Authorization="Bearer 3o9eOkeqrg4d9d3ItE5bwt6Inq04GBan",#"Content-Type"="application/json"],
 Content=Json.FromValue([has_child=true])])) //没有子部门可不传入

POST /api/v2/user/{ username }/user_retrieve - 获取成员信息
POST /api/v2/user/create - 添加成员
POST /api/v2/user/{ username }/update - 修改成员
POST /api/v2/user/{ username }/delete - 删除成员
POST /api/v2/user/batch_delete - 批量删除成员

POST /api/v2/department/{ dept_no }/department_list - (递归)获取部门列表
Table.FromRecords(Json.Document(Web.Contents("https://api.jiandaoyun.com/api/v2/department/1/department_list",
[Headers=[Authorization="Bearer 3o9eOkeqrg4d9d3ItE5bwt6Inq04GBan",#"Content-Type"="application/json"],
 Content=Json.FromValue([])]))[departments])
POST /api/v2/department/create - 创建部门
POST /api/v2/department/{ dept_no }/update - 修改部门
POST /api/v2/department/{ dept_no }/delete - 删除部门

批量管理
POST /api/v2/department/import - 全量导入部门
body
{
    "departments": [{
        "dept_no": 11,
        "name": "研发部门",
        "parent_no": 1
    }, {
     "dept_no": 12,
     "name": "测试部门",
     "parent_no": 1
    }]
}

POST /api/v2/user/import - 增量导入用户
body
{
    "users": [{
        "username": "coding_master",
        "name": "代码大师",
        "departments": [1, 3]
    }]
}

还有webhook自己看啦,针对咱们的收集信息进行自动触发推送,这样就可以将数据推送到第三方应用,老刺激了(注意签名方式)。
https://hc.jiandaoyun.com/open/11500

道高一尺 魔高一丈
https://pbihub.cn/users/44
M与DAX的恩怨纠葛