Получение "error": "Текст не предоставлен" при попытке опубликовать контент в V2/Profile of personalinsights API
Я развернул модуль watson-developer-cloud/personal-insights-python в bluemix и создал приложение в Bluemix. Ссылка для моего приложения работает абсолютно нормально. Однако, когда я хочу вызвать /v2/profile api, с запросом поста я получаю сообщение об ошибке. Вот код, который я использовал в Python.
import requests, json
payload = {'id': 'my-id',
'userid': 'id-here',
'sourceid' : 'twitter',
'contenttype' : 'text/plain',
'language' : 'en',
'content' : 'text to analyse goes here'
}
input_data=json.dumps(payload);
r = requests.post("http://MY-APP.mybluemix.net/v2",
auth=("USERNAME", "PASSWORD"),
headers = {"content-type": "application/json"},
data=input_data)
print(r.content)
Я продолжаю получать эту ошибку.
b'{"help": "http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/personality-insights/#overviewInput", "error": "The number of words 1 is less than the minimum number of words required for analysis: 100", "code": 400}'
Если я изменяю URL без V2, то мы получаем эту ошибку
b'{"code": 400, "error": "No text provided"}'
1 ответ
Обратите внимание, что вы не должны размещать на этом URL. Если вы разрабатываете локальное приложение, вам необходимо привязать службу Personality Insights к приложению Bluemix и взять оттуда учетные данные (есть URL, имя пользователя и пароль, которые вы можете использовать - URL будет начинаться с https://gateway.watsonplatform.net/). Если я ошибаюсь и это приложение Bluemix, то вам следует проанализировать объект VCAP_CREDENTIALS и получить оттуда учетные данные - см. Примеры приложений в документации.
Затем, как только вы получите правильный URL, обратите внимание на ошибку "Количество слов....". Это означает, что Personality Insights просто не может анализировать такой маленький фрагмент текста. Ему нужно как минимум 100 слов из своего внутреннего словаря, чтобы соответствовать; и гораздо более того, вам нужно предоставить как минимум 2000 или 3000 слов, чтобы получить анализ со значимыми результатами. Удачи!