Как отправить данные файла с дополнительными JSON в REST API, используя Python Запросы? - PullRequest
1 голос
/ 01 апреля 2020

Я пытаюсь сделать POST-запрос, используя Python и библиотеку запросов к этой конечной точке: https://cris.ai/swagger/ui/index# / Custom% 20Speech% 20datasets% 20for% 20model% 20adaptation% 3A / UploadDataset

Вот код, который я использую:

import requests
import json
from api_key import getApiKey, Ocp_Apim_Subscription_Key

url = 'https://westus.cris.ai/api/speechtotext/v2.0/datasets/upload'
payload = {
    "name": "leo's try",
    "description": "a dataset",
    "locale": "en-US",
    "dataImportKind": "Language"
    }

files = {
    "leo.txt;": open('leo.txt', 'rb')
}

api_key = getApiKey().decode()
# Adding empty header as parameters are being sent in payload
headers = {"Content-Type": "multipart/form-data","accept": "application/json","Ocp-Apim-Subscription-Key": Ocp_Apim_Subscription_Key, 
"Authorization": api_key }
r = requests.post(url, files=files,data=payload, headers=headers)
print((r.content).decode())

Даже если я указал Content-Type как multipart/form-data и добавил accept: application/json, ответ возвращается как ошибка:

{"code":"UnsupportedMediaType","message":"The request entity's media type 'application/xml' is not supported for this resource."}

Кто-нибудь знает, что мне делать?

...