尝试通过 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 响应

如何在 React Native 中使用 Axios 设置授权标头

React Native中通过axios上传图片