旧表中 rowid 和字段 id 都与新表中的相同。 为什么 名称字段能更新成功,而附件字段 不能更新成功呢?
新手小白,麻烦高人给个完整代码,十分感谢!
import requests
import json
def 查找附件():
url = 旧表["apiURL"] + "/v2/open/worksheet/getFilterRows"
过滤条件=[
{"controlId":"rowid","dataType":2,"spliceType":1,"filterType":2,"values":["13c37bda-d2f3-4656-90dd-e105402cdc45"]}
]
payload = {"appkey": 旧表["appKey"],"sign":旧表["sign"],"worksheetId": "cpzl","pageSize": 1000,"pageIndex": 1,"filters": 过滤条件,
"controls": [
"rowid",#记录ID
"66eabd0a3e092c6cfd3662ba",#照片
"66eab9c76506a601945d7320"#品名
]}
headers = {'Authorization': 'Bearer <token>','Content-Type': 'application/json'}
已查询数量=0
总数量=1
while 已查询数量<总数量 :
response = requests.request("POST", url, headers=headers, data=json.dumps(payload))
dict1 = json.loads(response.text)
payload["pageIndex"] +=1
if not dict1['data'] ['rows']:
break #终止循环
已查询数量 += len(dict1['data'] ['rows'])
总数量 = dict1['data'] ['total']
for i in dict1['data'] ['rows'] :
临时={'rowid':[i['rowid']], '照片':'','照片名':'','品名':i['66eab9c76506a601945d7320']}
if i['66eabd0a3e092c6cfd3662ba']:
f = json.loads(i['66eabd0a3e092c6cfd3662ba'])
a=[]
b=[]
for d in f:
a.append(d["original_file_full_path"])
b.append(d["original_file_name"])
临时["照片"]=",".join(a)
临时["照片名"]=",".join(b)
更新附件(临时)
def 更新附件(临时):
headers = {'Authorization': 'Bearer <token>','Content-Type': 'application/json'}
url = 新表["apiURL"] + '/v2/open/worksheet/editRows'
bodyers = {"appKey": 新表["appKey"],"sign": 新表["sign"],"worksheetId":"cpzl","triggerWorkflow":"false"}
bodyers['rowIds'] = 临时["rowid"] #数组
bodyers['controls'] = [
{
"controlId": "66eabd0a3e092c6cfd3662ba", #附件控件id
"value":临时["照片"],#外部文件链接,多个用“,”逗号隔开
"editType":0 , #数据更新类型, 0=覆盖 ,1=新增(默认0:覆盖,新建记录可不传该参数)
"valueType":1,#提交值类型,1 = 外部文件链接,2= 文件流字节编码 base64格式 字符串 (默认 1 ,为1时 外部链接放在value参数中,为2时 文件流base64信息放在 controlFiles参数中 )
"controlFiles":[{ # base64格式 文件信息
#"baseFile":"",#base64字符串(文件流字节编码)
"fileName":临时["照片名"] #文件名称,带后缀
}]
},
{
"controlId": "66eab9c76506a601945d7320",
"value":临时["品名"],
},
]
r = requests.post(url, headers=headers, json=bodyers) # 发送请求
查找附件()
```
```