- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Azure 帐户上发布了一个机器人,我试图从中取出魔法代码,因此请遵循 Direct Line documentation我改进了代码以隐藏 token 。但是,一旦启用增强型身份验证选项,我总是会得到相同的响应。
{
"error": {
"code": "BadArgument",
"message": "tokenParameters is missing User."
}
}
而且我无法弄清楚如何使用用户数据完成 HTTP 请求。
该机器人基于 BotFramework SDK v4,加上一些用于使用封装的 key 请求和刷新 token 的 Controller 。我通过不同且错误的方式将 userId 数据添加到请求中,但始终得到相同的结果。
请求 token 代码
server.post('/dl/tokenRequest', async (_, res) => {
try {
const userId = "dl_testuser1";
const askToken = await fetch('https://directline.botframework.com/v3/directline/tokens/generate', {
headers: {
authorization: Bearer ${ process.env.DIRECT_LINE_SECRET }
},
//HERE THE userId INFORMATION,
method: 'POST'
});
const json = await askToken.json();
if ('error' in json) {
console.log('Requesting token - Error');
res.send(500);
} else {
console.log(`Requesting token ` + json.token);
res.send(json);
}
} catch (err) {
res.send(500);
}
});
在启用增强型工具之前,我应该如何输入用户信息才能从 DL API 获得“确定”?
最佳答案
您的 header 中似乎缺少 Content-Type
。看看下面的代码片段。
try {
const res = await fetch('https://directline.botframework.com/v3/directline/tokens/generate',
{
method: 'POST',
headers: {
'Authorization': `Bearer <SECRET>`,
'Content-Type': 'application/json'
},
body: {
user: {
id: "dl_123", // user id must start with 'dl_'
name: "user"
}
}
});
const json = await res.json();
} catch (error) {
console.log(error)
}
注意,您不必检查 JSON 响应中是否存在“错误” - try-catch block 应该处理该问题。
希望这有帮助!
关于node.js - BotBuilder、Direct Line API 返回 "tokenParameters is missing User"并具有增强的身份验证选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56026764/
我正在尝试使用增强的 for 循环遍历 Iterable,但我无法确定何时处理最后一个值。 public void apply(Tuple key,
我正在使用以下代码在 Sheet2 的 A:H 范围内查找和替换 Sheet1 中存在的单词列表(ColA 用于 FIND 单词,ColB 用于 REPLACE 单词)。它执行这项工作,但非常缓慢。可
我正在使用 Hibernate (JPA2) hibernate.hbm2ddl.auto=update用于测试和 hibernate.hbm2ddl.auto=validate用于生产。 我想要做的
基本问题: 为什么我只能用 Scala 编写: println(10) 为什么我不需要写: Console println(10) 后续问题: 如何引入一个新方法“foo”,它像“println”一样
我正在尝试将 Maven 项目迁移到 Bazel,但在 Datanucleus 增强方面遇到了麻烦。 后 jar -file 已构建,Datanucleus 会查看其中的内部并执行一些字节码操作以增强
正在使用 css3 转换进行漂亮的导航。为此还编写了一些 javascript。 但不幸的是它看起来有点凌乱。你们能给我一些优化 javascript 代码的技巧吗? 笔--> http://code
我想将自定义任务绑定(bind)到默认构建器发布周期中。我想在项目编译、打包、标记和部署之后但在增加版本号并提交之前运行此代码。 我将如何融入发布周期的这一部分? 最佳答案 不幸的是,release
我使用ElasticSearch 6.6。我的应用程序通过从不同数据源提取数据来构建ES索引。搜索未指定数据源。它只是建立一个类似的查询: GET employerdata/_search { "
我正在使用此代码将“k1 = v1; k2 = v2; k3 = v3; kn = vn”字符串解析为映射。 qi::phrase_parse( begin,end,
我正在试图弄清楚作业的一部分,但我已经把头撞在墙上有一段时间了。我正在尝试将 DNA 序列转录为 RNA 序列。然而,我收到了 ArrayOutOfBoundsException。我不熟悉使用增强的
我需要对基于 python Google App Engine 的应用程序的警告进行分类。我从 GAE stackdriver 下载日志。我认为 GAE Stackdriver 错误报告位于 http
我有一个 django charField,通过 is_valid() 方法进行检查。用户应该在此字段中输入有效的逻辑表达式,因此我编写了一个解析方法,如果表达式不正确,该方法会引发异常。 如何增强
我编写了以下控制台应用程序,要求用户输入一天。 我需要一些帮助才能改进,以便他们为一周中的所有日子提供正确的答案。 如果用户输入除星期一以外的任何其他日期,则输出为“今天”、“昨天”、“明天”,并在这
我在使用带有 ES6 let 关键字的模块模式(扩充)时遇到错误。 这有效。 var Example = ( Example => { Example.name = ""; retur
我只是问是否线程安全可以使用 我明确指出“doSomething()”是线程安全的。 最佳答案 线程安全取决于您正在迭代的 Collection,而不是 enhanced for 的使用。如果 Col
我有一个非常符合 this Jquery demo 的要求,这是一个简单的购物车演示。基本上,我需要对该演示进行两项改进。 我需要文本输入以及可用的“产品”。因此,当我拖放其中一种产品时,文本字段应随
我正在三个表 messages、message_recipients 和 users 上运行查询。 messages表的表结构: id int pk message_id int message te
这个问题已经有答案了: In detail, how does the 'for each' loop work in Java? (29 个回答) 已关闭 4 年前。 由于增强的 for 循环是只读
我在 css 中制作了一个很酷的鼠标悬停,当父级鼠标悬停时它会显示动画 gif。 这是我的代码:http://codepen.io/clemeeent/pen/oggzMa 问题是我将有大约 40 天
目前,当使用 Knockout foreach 绑定(bind)时,您可以使用 $index 访问当前索引。我想让其他类似的功能可用于我的内部绑定(bind) - 例如: array(让我访问正在操作
我是一名优秀的程序员,十分优秀!