通过python和postman调用WebApi给单据上传附件原创
4人赞赏了该文章
520次浏览
编辑于2023年11月09日 17:33:13
【业务场景】
通过WebApi给单据上传附件。
下面会介绍怎么通过python和postman调用webapi。
【开发教程及示例】
一、操作步骤
如何设置单据菜单栏上的附件功能,在审核后仍然可以使用?
在附件菜单控制里面把锁定的勾选去掉即可。
2. 通过python上传附件代码示例
import requests import json import os import base64 api_cookies = {} ''' 账号登录 acctID: 账套Id,从管理中心数据库查询获得, 参考查询:select FDATACENTERID from T_BAS_DATACENTER username:用户名 password:密码 url:登录接口地址 ''' def login(acctID, username, password, url): payload = { 'acctID': acctID, 'username': username, 'password': password, 'lcid': '2052' } response = requests.request("POST", url, data=payload) global api_cookies api_cookies = response.cookies print('登录接口返回值:') print(response.text) def file_to_base64(file_path): with open(file_path, 'rb') as f: return base64.b64encode(f.read()).decode() ''' 上传附件 file_path:附件文件完整路径 form_id:要上传附件的业务对象标识 bill_no:单据编号 inter_id:要上传附件的业务对象单据表主键值 url:上传附件接口地址 ''' def upload_attachment(file_path, form_id, bill_no, inter_id, url): filename = os.path.basename(file_path) send_byte = file_to_base64(file_path) payload = json.dumps({ "data": { "fileName": filename, "FormId": form_id, "InterId": inter_id, "BillNO": bill_no, "isLast": True, "fileId": "", "sendByte": send_byte } }) headers = { 'Content-Type': 'application/json' } s = requests.Session() s.cookies = api_cookies response = s.request("POST", url, headers=headers, data=payload) print('上传附件接口返回值:') print(response.text) if __name__ == '__main__': # 请根据需要修改下面方法的参数 login('账套id', '用户名', '密码', "https://云星空域名/k3cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc") upload_attachment(R"E:\金蝶云星空WebAPI接口说明书_V6.0.docx", 'bos_FileTest', '1', '100003',"https://云星空域名/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.AttachmentUpLoad.common.kdsvc")
3. 使用postman上传附件
打开postman,解压下面的文件后导入
修改请求信息
作者:cyoukon
来源:金蝶云社区
原文链接:https://vip.kingdee.com/article/510094920061839616?productLineId=1&isKnowledge=2
著作权归作者所有。未经允许禁止转载,如需转载请联系作者获得授权。
赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!