我正在尝试使用我拥有的上载文件rest api来上载文件。这个api在邮递员中工作得很好。
postman中必需的标头参数:
内容类型:multipart / form-data
请求正文中的必需表单数据:
jsonInputParameters(Text):{“ parentID”:“ XXXX”} //这是我将文件上传到的文件夹ID
primaryFile(文件):
我已经使用以下python代码段来调用此rest api:
import os
import requests
from requests.auth import HTTPBasicAuth
import json
def uploadFile(uploadFile, folderId):
host = config.get('host')
endpoint = config.get('endpoint')
username=config.get('username')
password=config.get('password')
payload = {"parentID": folderId}
files = {
'jsonInputParameters': (None,json.dumps(payload)),
'primaryFile': (os.path.basename(uploadFile), open(uploadFile, 'rb'))
}
requests.post(endpoint, files=files, auth=HTTPBasicAuth(username, password))
但是此代码有时不起作用。我收到的错误是“缺少服务CHECKIN_UNIVERSAL的一个或多个服务参数”。当我检查请求时,我可以看到在错误情况下,请求中不存在“ jsonInputParameters”。但这只是间歇性发生。