- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直在关注这个教程on how to create a simple chatbox in 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 创建的任何路径都是错误的,或者我缺少一个参数。
我仔细检查了访问 token 是否正确,甚至创建了另一个以防万一并更新了应用程序。
当我运行这个程序时,它使应用程序崩溃。只有当我使用 try catch 语句返回查询值时,我才发现这是因为它返回了 404 错误。我的日志也显示了这一点。
有什么我想念的吗?这是我第一次使用 Dialogflow。
在过去的 3 个小时里,我一直在为这个问题苦恼,查看日志并尝试使用 try catch 语句,但仍然不知道我遗漏了什么。
Dialogflow API Reference告诉我,我只需要授权 token 、协议(protocol)版本(我都试过了)。
如果有人可以帮助我并需要更多信息,请告诉我。
最佳答案
在 stackoverflow 上搜索后,我找到了 this答案为我提供了 GET 请求所需的结构。
因此,我从查询中删除了 FuelManager 的 basePath 和 baseParams,并以上面发布的链接指定的格式对 GET 请求进行了硬编码。
Fuel.get("https://api.dialogflow.com/v1/query?v=20150910&lang=en&query="
+chatView.inputText+"&sessionId=12345")
我唯一的猜测是 baseParams 和 basePath 没有正确链接到 Fuel 实例。
关于android - Kotlin 将 Dialogflow 与 Fuel 结合用于 Android 上的简单聊天机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55200354/
在以下问题上,我需要您的帮助:无法 mock Fuel.get call 。 我尝试过的 这是服务类,将在其中调用Fuel。 class JiraService { private val l
问题 我想通过使用 Fuel 作为 Httpclient 对 API 进行同步调用来获得 get 请求的结果。我在 Android (Anko) 项目中使用 Fuel。该调用只是一个简单的获取请求,它
一直以来,对于openstack 的初学者来讲,安装往往是入门的头大难题。在e版本之前,要搭建一个基本能用的openstack 环境那是相当麻烦,自己要装机,自己搞源,自己照着文档敲命令,又没有靠谱
我有这个代码: $(window).load(function() { var DataSource = function (options)
我尝试使用复选框选择所有内容,但无法实现它。 2 all $(document).ready(function() { $('
我的 Fuel CMS/Codeigniter 安装中有一个名为“tradeusers”的简单模块。这会从数据库中的 tradeusers 表中列出站点上的贸易用户。 这意味着我的客户将能够从 CMS
我正在尝试使用燃料 ux 向导组件,如示例所示: http://exacttarget.github.io/fuelux/#wizard 但它不能正确显示。 我的代码是:
我正在使用新发布的 Fuel UX 3.1在网络应用程序中。我设法使用来自后端的数据设置了一个 Repeater 小部件,但是我只能渲染它一次。 $('#myRepeater').repeater({
我正在使用此示例将数据导入 Fuel UX 数据网格:http://dailyjs.com/2012/10/29/fuel-ux/ (显然使用我自己的 API 而不是 Flickr) 我在示例代码中看
根据documentation ,我应该能够 Hook Fuel UX 向导组件的更改事件。但对于我的生活,我无法弄清楚如何。我还是 jquery 和 javascript 的新手。 Javascri
我正在尝试将网站从 apache2 站点移动到 Azure 托管站点。我将 Azure 配置为 PHP 网站。我将网站的内容复制到 Azure 网站中。 我安装了 Pear PHP 不知道为什么,但有
我在使用 Fuel 的 responseObject 时遇到问题以一般的方式。我正在尝试开发一种集中式方法,其中组件的 HTTP 响应对象已经反序列化,准备就绪。它看起来像这样: class Cont
我使用名为“Fuel”的库从服务器获取数据,这是我的代码: button1.setOnClickListener { val jb = "{......}"
我正在开发 Fuel Framework,我需要使用 order_by title 构建查询,该查询是 varchar 但其中大多数都是数字。我需要按真正的数字顺序对其进行排序。 所以我想使用“CAS
所以我在我的网站中实现了 Fuel UX 的 TreeView 。每当它加载时,我都需要手动重新选择我想要的项目。是否可以在每次重新加载后预选某些项目? 提前致谢! 最佳答案 我从昨天开始就处于同样的
我正在尝试在一个项目中使用 Fuel UI Spinner,该项目使用 Bower 进行依赖项管理,使用 gulp.js 构建文件。 这是我的代码: gulpfile.js: ... gulp.ta
下面是我的fuelphp项目的目录结构 燃料 日志 公开 tmp 在我的公共(public)文件夹中 Assets index.php 当我点击基本 URL 以外的任何 URL 时,它会抛出以下错误
我需要向服务器发送 POST 请求。我应该传递一些参数和图像。我可以通过 Postman 执行此操作,但我无法使用 Fuel 在我的 Android 应用程序(最新的 SDK)上执行此操作。 这是我正
在 Android 应用程序中,我尝试使用 Fuel在 Kotlin 协程中发出 HTTP 请求。我的第一个尝试是在这样的包装器中使用同步模式: launch(UI) { val token
我想获取 API 请求并将请求的数据保存到数据库中。还想返回数据(即写入数据库)。我知道,这在 RxJava 中是可能的,但现在我在 Kotlin 协程中编写,目前使用 Fuel 而不是 Retrof
我是一名优秀的程序员,十分优秀!