0

无论仔细检查所有内容,我都会收到无效的用户 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>

4

1 回答 1

1

我是 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 上的服务实例页面然后单击左侧的凭证链接来获取它们。

于 2016-09-21T02:38:24.130 回答