«Неверный или неверный запрос» с clarifai api - PullRequest
0 голосов
/ 21 января 2020

что не так со следующим запросом на clarifai api-

import requests
image_url='https://samples.clarifai.com/food.jpg'
api='Key cb03ceba3c8842aeadd55dcb2f0be152'
headers = {
    'Authorization': api,
    'Content-Type': 'application/json',
}

data = '{"inputs": [{"data": {"image": {"url": image_url}}}]}'

url='https://api.clarifai.com/v2/models/bd367be194cf45149e75f01d59f77ba7/outputs'
response = requests.post(url=url, headers=headers, data=data)
print(response.status_code, response.json())

я продолжаю нажимать эту ошибку-

400 {'status': {'code': 11102, 'description': 'Invalid request', 'details': 'Malformed or invalid request'}}

Ответы [ 3 ]

0 голосов
/ 26 января 2020

Вам также необходимо исправить заголовок, чтобы получить правильный ответ

header = {'Authorization': 'Key '+ api_key ,"Content-Type": "application/json"}
0 голосов
/ 09 марта 2020

необходимо преобразовать данные в JSON, а json .dumps () преобразует данные в JSON.

data = {"inputs": [{"data": {"image": {"url": image_url}}}]}

json_data = json.dumps(data)

0 голосов
/ 21 января 2020

Похоже, вам нужно использовать:

'{"inputs": [{"data": {"image": {"url": "' + image_url + '"}}}]}'

Поскольку одинарные кавычки создают строку, вы не можете просто добавить переменную напрямую, но нужно объединить ее , Вы буквально отправляли текст image_url, а не фактическое значение переменной image_url в этом выражении.

...