我有一个可以在cURL上正常运行的watson实例
curl -X POST -u "apikey:skjfdk" --form "images_file=@newpot.jpg" "https://gateway.watsonplatform.net/visual-recognition/api/v3/classify?version=2018-03-19&&classifier_ids=myclassifier"
{
"images": [
{
"classifiers": [
{
"classifier_id": "myclassifier",
"name": "myclassifier",
"classes": [
{
"class": "pot",
"score": 0.905
}
]
}
],
"image": "newpot.jpg"
}
],
"images_processed": 1,
"custom_classes": 4
}
但是当我通过REST CLIENT或简单的Javascript ajax表单上传访问它时,会出现此错误。可能是什么原因?我确信我不会在请求中添加任何其他标头,因为错误声明如此。附上我的其他客户的屏幕截图
{
"images": [
{
"image": "newpot.jpg",
"error": {
"code": 400,
"description": "Invalid Request: vr.Classifier/classify: INVALID_ARGUMENT: Accept-Language header must be a supported 2 letter ISO 639-1 language code or 5 letter ITEF BPC 47 language code. Received 'en-u-rg-uszzzz'"
}
}
],
"images_processed": 1
}
答案 0 :(得分:1)
这看起来像Accept-Language标头的特定于语言环境的区域覆盖。必须以某种方式发送它。
检查Postman的控制台;您可能会看到正在发送accept-language标头。您还可以显式包含带有不同值的标头(例如de
),以查看是否得到不同的行为。
答案 1 :(得分:1)
就像艾伦(Allen)所写的那样,显然邮递员正在插入默认的语言标头,但是碰巧我们遇到了一个错误地解释了标头的错误。 1月18日(星期五)部署了修复程序。