Я следовал этому уроку о том, как создать простой чат в Android Studio.
Я успешно создал объект в Dialogeflow и дважды проверил, правильно ли я скопировал ACCESS_KEY
.
Вот мой код:
FuelManager.instance.baseHeaders = mapOf(
"Authorization" to "Bearer $ACCESS_TOKEN"
)
FuelManager.instance.basePath =
"https://api.dialogflow.com/v1/"
FuelManager.instance.baseParams = listOf(
"v" to "20170712", // latest protocol
"sessionId" to UUID.randomUUID(), // random ID
"lang" to "en" // English language
)
val human = ChatUser(
1,
"You",
BitmapFactory.decodeResource(resources,
R.drawable.ic_account_circle)
)
val agent = ChatUser(
2,
"Agent",
BitmapFactory.decodeResource(resources,
R.drawable.ic_account_circle)
)
my_chat_view.setOnClickSendButtonListener(
View.OnClickListener {
my_chat_view.send(Message.Builder()
.setUser(human)
.setText(my_chat_view.inputText)
.build()
)
// More code here
}
)
Fuel.get("/query",
listOf("query" to my_chat_view.inputText))
.responseJson { _, _, result ->
val reply = result.get().obj()
.getJSONObject("result")
.getJSONObject("fulfillment")
.getString("speech")
my_chat_view.send(Message.Builder()
.setRight(true)
.setUser(agent)
.setText(reply)
.build()
)
}
Я обнаружил, что получаю ошибку HTTP 404, что означает, что любой путь, который создает Fuel, неверен, или я пропускаю параметр.
Я дважды проверил правильность ACKESS TOKEN и даже создал другой на всякий случай и обновил приложение.
Когда я запускаю эту программу, приложение вылетает. Только когда я возвратил значение запроса с помощью оператора try catch, я обнаружил, что это потому, что он возвращал ошибку 404. А также мои журналы показывают это также.
Что-нибудь, чего мне не хватает? Я впервые использую Dialogflow.
Последние три часа я дергал себя за это, просматривал логи и играл с инструкциями try catch, но все еще не знал, что мне не хватает.
Справочник по Dialogflow API говорит мне, что все, что мне нужно, это токен авторизации, версия протокола (я пробовал их оба).
Если кто-нибудь может мне помочь и ему нужна дополнительная информация, сообщите мне.