watson会话API给出网关错误码:ercd04 - invldhr语言 - userid



我得到一个无效的userid错误,不管已经仔细检查了一切。

我发布了一个非常简单的调用,其中包含从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>

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

Watson拒绝您的请求,因为用户名和密码无效。我不是100%确定,但是您是否将{}作为curl请求的一部分发送?例如,如果您的用户名是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”}}"
请注意"Hello"这个词周围的斜角引号

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

最新更新