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,感谢您的帮助。我确实看到了 @ 并在编辑的代码中更正了它,但出现了同样的问题。但我想通了:助手被部署在华盛顿……我把它搬到了伦敦,现在它可以工作了。再次感谢您的帮助,对于我的新手错误感到抱歉...