Watson 助手错误 "Http response code is [401]"
Watson assistant error "Http response code is [401]"
我在 IBM 中创建了一个非常简单的云函数,我尝试通过 Watson 助手调用它。当我调用它时,出现错误 "Direct CloudFunctions call was not successful. Http response code is [401]"。
下面是我正在使用的代码。 "prodname" 从用户那里获取并发送到函数以获得答案。当我调用它时,该函数工作正常。我从 https://cloud.ibm.com/openwhisk/learn/api-key.
获取 ID 和密码
{
"context": {
"credentials": {
"user": "userID",
"password": "password"
}
},
"output": {
"text": {
"values": [
"$answer"
]
}
},
"actions": [
{
"name": "arllambi%2540gmail.com_Only/Watson/MovieBot",
"type": "cloud_function",
"parameters": {
"prodname": "$prodname"
},
"result_variable": "answer",
"credentials": "$credentials"
}
]
}
有没有可能是凭据有问题?
在此先感谢您的帮助。
****** 重新编辑 ******
根据 data_henrik 的建议,我提供了更多信息。我调用的函数如下,一个非常简单的 echo 函数:
function main(msg){
return {answer: "You said " +msg.prodname};
}
我将 cloud_function 更改为 web_action,web_action 通过邮递员工作正常:
{
"output": {
"text": {
"values": [
"$answer"
]
}
},
"actions": [
{
"name": "arllambi@gmail.com_Only/Watson/MovieBot.json",
"type": "web_action",
"parameters": {
"prodname": "<?input.text?>"
},
"result_variable": "context.answer"
}
]
}
我现在收到的消息是"Direct CloudFunctions call was not successful. Http response code is [404]"。助理也回答 "with {"cloud_functions_call_error":"The requested resource does not exist."}
阿德里亚
我猜你的操作名称中的 org 部分是错误的。尝试用“%40”替换任何“@”。否则,Watson 会将其解释为其他内容。接下来,更新对话节点后,等待几秒钟以使更改生效。
我刚刚对已部署的 Web 操作进行了一些尝试,可能会导致 401 和 404。
"name": "arllambi%40gmail.com_Only/Watson/MovieBot.json"
您好@data_henrik,感谢您的帮助。我确实看到了 @ 并在编辑的代码中更正了它,但出现了同样的问题。但我想通了:助手被部署在华盛顿……我把它搬到了伦敦,现在它可以工作了。再次感谢您的帮助,对于我的新手错误感到抱歉...
我在 IBM 中创建了一个非常简单的云函数,我尝试通过 Watson 助手调用它。当我调用它时,出现错误 "Direct CloudFunctions call was not successful. Http response code is [401]"。
下面是我正在使用的代码。 "prodname" 从用户那里获取并发送到函数以获得答案。当我调用它时,该函数工作正常。我从 https://cloud.ibm.com/openwhisk/learn/api-key.
获取 ID 和密码{
"context": {
"credentials": {
"user": "userID",
"password": "password"
}
},
"output": {
"text": {
"values": [
"$answer"
]
}
},
"actions": [
{
"name": "arllambi%2540gmail.com_Only/Watson/MovieBot",
"type": "cloud_function",
"parameters": {
"prodname": "$prodname"
},
"result_variable": "answer",
"credentials": "$credentials"
}
]
}
有没有可能是凭据有问题?
在此先感谢您的帮助。
****** 重新编辑 ******
根据 data_henrik 的建议,我提供了更多信息。我调用的函数如下,一个非常简单的 echo 函数:
function main(msg){
return {answer: "You said " +msg.prodname};
}
我将 cloud_function 更改为 web_action,web_action 通过邮递员工作正常:
{
"output": {
"text": {
"values": [
"$answer"
]
}
},
"actions": [
{
"name": "arllambi@gmail.com_Only/Watson/MovieBot.json",
"type": "web_action",
"parameters": {
"prodname": "<?input.text?>"
},
"result_variable": "context.answer"
}
]
}
我现在收到的消息是"Direct CloudFunctions call was not successful. Http response code is [404]"。助理也回答 "with {"cloud_functions_call_error":"The requested resource does not exist."}
阿德里亚
我猜你的操作名称中的 org 部分是错误的。尝试用“%40”替换任何“@”。否则,Watson 会将其解释为其他内容。接下来,更新对话节点后,等待几秒钟以使更改生效。
我刚刚对已部署的 Web 操作进行了一些尝试,可能会导致 401 和 404。
"name": "arllambi%40gmail.com_Only/Watson/MovieBot.json"
您好@data_henrik,感谢您的帮助。我确实看到了 @ 并在编辑的代码中更正了它,但出现了同样的问题。但我想通了:助手被部署在华盛顿……我把它搬到了伦敦,现在它可以工作了。再次感谢您的帮助,对于我的新手错误感到抱歉...