Я пытаюсь загрузить файл, используя оставшийся API загрузки файла.Этот API прекрасно работает в почтальоне.Обязательные параметры заголовка в почтальоне:
Content-Type: multipart / form-data
обязательные данные формы в теле запроса:
jsonInputParameters (Text): {"parentID": "XXXX"} // этоидентификатор папки, в которую я загружаю файл
primaryFile (File):
Я использовал следующий фрагмент кода Python для вызова этого 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' отсутствует в запросе.Но это происходит только с перерывами.