android - 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,错误:未经授权
谁能告诉我缺少什么?
编辑
这是我正在使用的网址
- https://gateway-lon.watsonplatform.net/assistant/api
- https://gateway-lon.watsonplatform.net/speech-to-text/api
- https://gateway-lon.watsonplatform.net/text-to-speech/api
编辑2
这是我的调试器窗口的屏幕截图
解决方案
您的助手的服务版本设置2019-07-04
为无效。在此处查看最新和以前的版本。这行得通吗?
var service = Assistant("2019-02-28", options)
service.endPoint = getString(R.string.watson_assistant_url)
推荐阅读
- android - 从 View 观察 LiveData 实例
- airflow - UTC 午夜的 Apache Airflow dag 时间表
- php - Paypal 在沙盒上运行良好,但在现场不可用
- openmaptiles - 没有 docker 的 OpenMapTiles 服务器的安装过程
- ios - 打开 Instagram 帖子 iPhone 挂钩停止工作
- javascript - 如何检查导入语句是否与 JavaScript 中的外部 npm 包一起使用
- elasticsearch - 在 ElasticSearch 中自动平衡分片
- signalr - 带有 Angular 的 Azure Signalr 服务上下文
- stata - 日期格式为 %th 时的 xline 选项?
- java - 将对象元素转换为数组int [] java spring