Watson会话API给出网关错误代码:来自curl的ERCD04-INVLDCHR-USERID

时间:2016-09-20 13:49:31

标签: api ibm-cloud watson-conversation

无论是否仔细检查过所有内容,我都会收到无效的用户ID错误。

我发布了一个非常简单的调用,其中包含从Bluemix中的会话服务获取的服务凭据以及从会话服务中的特定工作空间获取的工作空间ID。

我错过了什么?

curl -X POST \ -u "{XXXXXXXXXXXXXXXXXXXXXXX}":"{XXXXXXXXX}" \ -H "Content-Type:application/json" \ -d "{\"input\": {\"text\": \”Hello\”}}" "https://gateway.watsonplatform.net/conversation/api/v1/workspaces/1db1f0a0-638e-4a27-bbf3-3117b308a727/message?version=2016-07-11"

我一直收到这个错误。欢迎提示

<HTML><HEAD><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><TITLE>Watson Error</TITLE></HEAD><BODY><HR><p>Invalid access to resource - /conversation/api/v1/workspaces/1db1f0a0-638e-4a27-bbf3-3117b308a727/message?version=2016-07-11</p><p>User access not Authorized.</p><p>Gateway Error Code : ERCD04-INVLDCHR-USERID</p><p>Unable to communicate with Watson.</p><p>Request URL : https://158.85.132.88:443/conversation/api/v1/workspaces/1db1f0a0-638e-4a27-bbf3-3117b308a727/message?version=2016-07-11</p><p>Error Id : gateway-dp01-928752884</p><p>Date-Time : 2016-09-20T08:56:03-04:00</p></BODY></HTML>

1 个答案:

答案 0 :(得分:1)

我是Watson Conversation项目的开发人员之一,看起来您在访问/conversation/api/v1/workspaces/SERVICE-GUID/message端点方面取得了一些成功,但有一些不常见的401错误,这意味着请求未经授权。

Watson拒绝了您的请求,因为用户名和密码无效。我不是100%肯定,但您是否在发送{}作为卷曲请求的一部分?例如,如果您的用户名为my-username且密码为swordfish,则应发送:

curl -X POST -u "my-username:swordfish" -H "Content-Type:application/json" -d '{"input": {"text": "Hello"}}' "https://gateway.watsonplatform.net/conversation/api/v1/workspaces/1db1f0a0-638e-4a27-bbf3-3117b308a727/message?version=2016-07-11"

此外,通过查看您的请求,您的请求中似乎有一些左右引导的引号,这可能是从其他地方剪切和粘贴您的请求的工件,但是一旦您获得这些请求会产生错误工作的用户名和密码。

"{\"input\": {\"text\": \”Hello\”}}"
请注意单词&#34; Hello&#34;

周围的斜角引号

如果您不确定您的用户名和密码应该是什么,您可以转到Bluemix上的服务实例页面,然后点击左侧的凭据链接来获取它们。