watson对话API给出网关错误代码。ERCD04-INVLDCHR-USERID from curl[英] watson conversation API giving Gateway Error Code : ERCD04-INVLDCHR-USERID from curl

本文是小编为大家收集整理的关于watson对话API给出网关错误代码。ERCD04-INVLDCHR-USERID from curl的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

无论仔细检查所有内容,我都会遇到无效的用户ID错误.

我发布了一个非常简单的调用,其中使用了从蓝色的对话服务中获得的服务凭据,并且从对话服务中的特定工作区中获取的工作空间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>

推荐答案

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

沃森拒绝您的请求,因为在无效的用户名和密码上.我不是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\"}}"
请注意围绕" Hello"

一词的角度引号

如果您不确定您的用户名和密码应该是什么,则可以通过访问bluemix上的服务实例页面,然后单击左侧的凭据链接.

.

本文地址:https://www.itbaoku.cn/post/1937761.html

问题描述

I am getting an invalid userid error regardless of having checked everything carefully.

I am posting a very simple call with service credentials taken from the conversation service in Bluemix and workspace ID taken from the specific workspace within the conversation service.

What am I missing?

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"

I keep getting this error. Tips welcome

<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>

推荐答案

I'm one of the developers on the Watson Conversation project, and it looks like you're having some success with the accessing the /conversation/api/v1/workspaces/SERVICE-GUID/message endpoint, but have some infrequent 401 errors, which means the request was unauthorized.

Watson is rejecting your request because on an invalid username and password. I'm not 100% certain, but are you sending the {} as part of your curl request? For example if your username was my-username and your password is swordfish then you should send:

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"

Also, looking through your request, it appears that you have some left and right directed quotation marks in your request, this might be an artifact of cutting and pasting your request from somewhere else, but those will generate an error once you get the username and password to work.

"{\"input\": {\"text\": \”Hello\”}}"
note the angled quotes around the word "Hello"

If you're unsure of what your username and password should be, you can get them by going to your service instance page on Bluemix and then clicking on the credentials link on the left hand side.