通过Java调用Watson Visual Recognition API时出现以下错误。任何帮助都将受到高度的感谢。
VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_20);
service.setApiKey("api_key");
InputStream imagesStream = new FileInputStream("C:\\fruitbowl.jpg");
ClassifyOptions classifyOptions =
new ClassifyOptions.Builder().imagesFile(imagesStream).imagesFilename("fruitbowl.jpg")
.parameters("{\"classifier_ids\": [\"fruits_1462128776\", + \"SatelliteModel_6242312846\"],\"threshold\": 0.6}")
.build();
ClassifiedImages result = service.classify(classifyOptions).execute();
System.out.println(result);堆栈跟踪:
SEVERE: POST https://gateway-a.watsonplatform.net/visual-recognition /api/v3/classify?version=2016-05-20&api_key=0b5b96d2428f020c207a9388f2bb1ee840e57c9c, status: 400, error: {
"error": {
"code": 400,
"error_id": "input_error",
"description": "Error parsing 'parameters' JSON. Ensure threshold is a float; owner and classifier-ids are string arrays; url is a string."
}}发布于 2018-03-09 03:08:47
我认为问题出在参数字符串中间的+。我认为应该是:
.parameters("{\"classifier_ids\": [\"fruits_1462128776\", \"SatelliteModel_6242312846\"],\"threshold\": 0.6}")
.build();发布于 2018-03-08 18:29:48
错误消息指的是classifier-ids,而您使用的是classifier_ids,因此这可能是一个简单的拼写错误。尽管文档在示例- https://www.ibm.com/watson/developercloud/visual-recognition/api/v3/?java#classify_an_image中也有classifier_ids
https://stackoverflow.com/questions/49126860
复制相似问题