, глядя на API на https://www.ibm.com/watson/developercloud/natural-language-understanding/api/v1/#post-analyze, похоже, что параметры должны быть объектом JSON.Я также не вижу никакого источника (как говорится в комментарии Саймона, используйте текст) параметра в документации API.
Возможно, прежде чем переходить к гему watson-api-client, попытайтесь сделать вызов, используя Net :: HTTP (документация https://docs.ruby -lang.org / ru / 2.0.0 / Net / HTTP.html ) Таким образом, вы можете точно увидеть, что ожидается.Вы также можете создать более индивидуальное решение для подключения к Watson API.
, например,
uri = URI('https://gateway.watsonplatform.net/natural-language-understanding/api/v1/analyze?version=2018-03-16')
Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Post.new uri
request['Content-Type'] = 'application/json'
request.body = {text: 'your test', keywords: {sentiment: true}}.to_json
request.basic_auth 'username', 'password'
response = http.request request # Net::HTTPResponse object
end
Обратите внимание, что вышеописанное было только что создано, а не протестировано.Надеюсь, это поможет.