获得 "error":"No text provided" 尝试 post 满足 V2/Profile 的个性见解 API

Getting "error": "No text provided" when trying to post content to V2/Profile of personality insights API

我已经将 watson-developer-cloud/personality-insights-python 模块部署到 bluemix 并在 Bluemix 中创建了一个 APP。我的应用程序的 link 运行 绝对没问题。但是,当我想使用 post 请求调用 /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}'

如果我在没有 V2 的情况下更改 url,则会出现此错误

b'{"code": 400, "error": "No text provided"}'

请注意,您不应该发布到 URL。如果您开发本地应用程序,则需要将 Personality Insights 服务绑定到 Bluemix 应用程序,并从那里获取凭证(有一个 URL、您可以使用的用户名和密码 -- URL 将在文档中以 https://gateway.watsonplatform.net/personality-insights/...). If I am wrong and this is a Bluemix app, then you should parse the VCAP_CREDENTIALS object and take the credentials from there -- see the sample applications 开头。

然后,一旦你得到正确的URL,请注意那个"The number of words ...."错误。这意味着 Personality Insights 无法分析这么小的一段文本。它需要至少100个来自其内部词典的词来匹配;除此之外,您需要提供至少 2000 或 3000 个单词才能获得具有有意义结果的分析。祝你好运!