В Bluemix я пытаюсь вызвать API-интерфейс извлечения знаний Watson из Python. Во-первых, я создаю приложение на Bluemix и подключаю к нему экстрактор отношений api. Затем из раскрывающегося меню API я получаю имя пользователя и пароль из экземпляров учетных данных. Который в нижеприведенном ниже я заменил bluemux-username и bluemix-password. Код Python я написал для этого заключается в следующем:Запрос POST для IBM Watson Извлечение связи возвращает ошибку
import requests
import json
url="https://gateway.watsonplatform.net/relationship-extraction-beta/api/v1/sire/0"
username="bluemix_username"
password="bluemix_passowrd"
with open ("data.txt", "r") as myfile:
text=myfile.read().replace('\n', '')
raw_data = {
'contentItems' : [{
'contenttype' : 'text/plain',
'content': text
}]
}
input_data = json.dumps(raw_data)
response = requests.post(url, auth=(username, password), headers = {'content-type': 'application/json'}, data=input_data)
try:
response.raise_for_status()
except requests.exceptions.HTTPError as e:
print("And you get an HTTPError: %s"% e.message)
Однако, когда я запускаю это я получаю следующее сообщение об ошибке:
And you get an HTTPError: 400 Client Error: Bad Request
* Примечание: Я использовал тот же метод для личности прозрений API, и это сработало.
Любые идеи?
Благодаря
API-интерфейс Документов (http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/apis/#!/relationship-extraction) скажем, что метод HTTP для извлечения отношений - GET и принимает один обязательный параметр 'txt'. – Kedar
Спасибо за ваш ответ @kedar, я попробовал следующий ответ: = request.get (url, auth = (имя пользователя, пароль), headers = {'content-type': 'text/plain'}, data = text) ' и получил 'И вы получите HTTPError: 400 Client Error: Error' – laila
Попробуйте' request.get (url + '? txt =' + text, auth = (имя пользователя, пароль)) 'вместо – Kedar