像上一个贴子说的,有 1000 个学生,想做一个全年级的成绩排序,分别用总成绩、语文、数学、外语、学号进行排序,因为系统限制 100 个取数,而子流程还没有想好怎么应用上,就希望通过明道的 API 获取数据。
在 filter 的时候卡住了一下,特别分享出来。
前置条件
- 应用项 API 开发文档
- Filter 应用
在 API 开发文档中进行了简单示例,可以通过实际的 F12 打开查看具体应用,直接复制就行
3.用 python 代码测试
4.python 代码
`
import requests
import json
url = 'http://172.29.20.185:8880/api/v2/open/worksheet/getFilterRows'
headers = {
"Accept-Encoding": "gzip",
"Connection": "close",
"Sec-Ch-Ua": "Chromium",
"Sec-Ch-Ua-Mobile": "?0",
"Sec-Ch-Ua-Platform": "Windows",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0",
}
bodyers = {
"appKey": "8218fe1bf0352274",
"sign": "ZjAxNzA1ZGVjYWYyNDg5MWEwMWU3ODVjNWJmN2ZhNGMxNzg4OGFlMTE4NzY5NjQyZWQzYzRkYjVmYTFlYzJjZQ==",
"worksheetId": "dpdd",
"pagesize": "500",
"filters": [
{
"controlId":"67088937f92088be97a0222e",
"dataType":11,
"spliceType":1,
"filterType":2,
"value": '待排'
},
{
'controlId':"67078119f92088be97a02187",
'dataType':15,
'dateRange':0,
'dateRangeType':1,
'dynamicSource':[],
'filterType':8,
'isDynamicsource': False,
'spliceType':1,
'values':[]
}
]
}
if __name__ == "__main__":
#返回有效文本
r = requests.post(url, headers=headers, json=bodyers)
str1 = r.text
listx = []
j = 0
for i in json.loads(str1)['data']['rows']:
listx.append([])
listx[j].append(i['67077e9af92088be97a02174'])#车号优先级
listx[j].append(i['67089363f92088be97a02344'])#车型优先级
listx[j].append(i['67089363f92088be97a02345'])#电动机优先级
listx[j].append(i['67089363f92088be97a02346'])#发动机优先级
listx[j].append(i['67089363f92088be97a02347'])#颜色优先级
listx[j].append(i['67089363f92088be97a02348'])#部门优先级
listx[j].append(i['67078119f92088be97a02186'])#总装上线日期
j=j+1
#print(listx)
print('len====',len(listx))