尝试通过 Axios (React Native) 访问 IBM Watson Assistant 消息时出现错误 500
Posted
技术标签:
【中文标题】尝试通过 Axios (React Native) 访问 IBM Watson Assistant 消息时出现错误 500【英文标题】:Error 500 when trying to access IBM Watson Assistant Message through Axios (React Natve) 【发布时间】:2021-12-27 03:54:55 【问题描述】:这是我尝试使用此代码从 IBM Watson Assistant 检索数据时遇到的错误,我在使用 axios 请求和响应的 React Native 环境中:
//ASSISTANT GREETING
init = async session =>
try
const _backendEndpoint = 'https://MYAPPLICATIONNAME.mybluemix.net';
const initialPayload =
input:
message_type: 'text',
text: '',
,
;
let response = await axios.post(`$_backendEndpoint/api/message`,
...initialPayload,
...session,
);
this.setState( userSession: session );
this.setState( text: response.data.output.generic[0].text );
this.setState( userPayload: response.data );
catch (err)
console.log('Failed to retrive data from Watson API', err);
;
IBM 是否更改了他们的代码库或其他什么,以便您不再能收到请求?我很茫然。
谢谢
【问题讨论】:
有一些变化,但这些不应该影响当前工作的应用程序。这以前有效吗?你能粘贴你得到的500错误吗? API 参考:cloud.ibm.com/apidocs/assistant/assistant-v2?code=node @drnugent 感谢您的回复!这以前不起作用,它是一个全新的应用程序:/ 我不太确定如何获得确切的 500 错误,但它似乎无法从 bluemix URL 获取任何内容。抱歉,我是新手! 什么是 mybluemix.net URI?那是你的应用程序,你构建了一个 API 来检索吗? Watson Assistant API 有不同的端点。 也许这个问题可以通过用以下格式重述来改进:“我正在尝试完成 X。我正在使用 A、B、C 的教程/文档中的代码。它给了我这个详细的错误信息。”如果您向我们展示您正在做什么以及您正在努力完成什么,那么提供帮助会更容易。 【参考方案1】:如果您希望 https://MYAPPLICATIONNAME.mybluemix.net
成为您的 Watson Assistant 实例,那么这将不起作用。端点应该类似于 https://api.us-south.assistant.watson.cloud.ibm.com
请参阅 API 文档以获取区域端点列表 - https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=python#service-endpoint
您使用的端点取决于您拥有 Watson Assistant 的区域。
您还需要通过服务器进行身份验证,这在您的代码 sn-p 中并不明显。
但是,如果 https://MYAPPLICATIONNAME.mybluemix.net
是您的后端应用程序服务器,那么我希望它应该有一个为 /api/message
定义的 API 端点,您的错误发生在该端点。请分享您的/api/message
端点的代码。如果您没有,那么这就是您收到 500 错误的原因。
【讨论】:
以上是关于尝试通过 Axios (React Native) 访问 IBM Watson Assistant 消息时出现错误 500的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 npm install axios 在 React Native 中安装 Axios
android中的React-native POST请求通过https返回网络错误
结合 Nodejs + React Native + Axios + CORS
使用 Axios/React Native 处理 PHP 响应