首页 > 解决方案 > IBM watson 助手在尝试使用时总是给出未经授权的错误

问题描述

我在 Watson Assistant 中被一个非常奇怪的问题困住了两天

我制作了一些代码以便能够在我的应用程序中使用它,它不断给我 401 身份验证错误

这些是我在 IBM 云帐户中配置的三个服务

在此处输入图像描述

这是我初始化这三个服务的代码

private fun initSpeechToTextService(): SpeechToText {

        var options = IamOptions.Builder()
            .apiKey(getString(R.string.speech_text_iam_apikey))
            .url(getString(R.string.speech_text_url))
            .build()
        return SpeechToText(options)
    }

private fun initTextToSpeechService(): TextToSpeech {

        var options = IamOptions.Builder()
            .apiKey(getString(R.string.text_speech_iam_apikey))
            .url(getString(R.string.text_speech_url))
            .build()
        return TextToSpeech(options)
    }

private fun initAssistantService(): Assistant {

        var options = IamOptions.Builder()
            .apiKey(getString(R.string.watson_assistant_iam_apikey))
            .url(getString(R.string.watson_assistant_url))
            .build()

        var service = Assistant("2019-07-04", options)
        service.endPoint = getString(R.string.watson_assistant_url)

        return service
    }

我现在的问题是我总是得到状态:401,错误:未经授权

谁能告诉我缺少什么?

编辑

这是我正在使用的网址

编辑2

这是我的调试器窗口的屏幕截图

在此处输入图像描述

标签: androidkotlinibm-cloudibm-watson

解决方案


您的助手的服务版本设置2019-07-04为无效。在此处查看最新和以前的版本。这行得通吗?

var service = Assistant("2019-02-28", options)
    service.endPoint = getString(R.string.watson_assistant_url)

推荐阅读