【发布时间】:2018-02-05 13:58:49
【问题描述】:
我正在用 Java 开发一个用于 Skype 的机器人。现在,我只希望机器人进行身份验证(获取不记名令牌)并回显收到的消息。 我在 2017 年 7 月 31 日进行了最后一次测试,效果很好。但是,自 8 月以来,最奇怪的事情发生了:
机器人可以正确地进行身份验证,我得到了 Bearen 令牌及其超时。之后,SslSocket 开始监听。当我与机器人聊天时,它会建立连接(启动握手等),但什么也没收到。没有标头,没有负载,什么都没有。
我尝试阅读文档并查看 Microsoft Bot Framework 的最新更新是否与它有关,但我找不到任何东西。 任何人都可以帮助我了解发生了什么?
InputStream inputStream = sslSocket.getInputStream();
OutputStream outputStream = sslSocket.getOutputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(outputStream));
String line = null;
String jsonLine = null;
String challenge = null;
while(((line = bufferedReader.readLine()) != null)){
System.out.println("iline = "+line);
if (!line.isEmpty()){
if(line.substring(0,1).equals("{")){
jsonLine = line;
}
}
}
这是读取传入消息的代码部分。 JsonLine 和 line 始终为 null。
【问题讨论】:
-
您的密钥有可能已过期。如果您直接使用生成的访问令牌进行调用,那么您需要重新生成访问令牌。
-
我已经更改了有关机器人的秘密信息,但没有任何变化。关于不记名令牌,机器人每次开始运行时都会要求它。无论如何,我的问题不是发送消息而是接收消息。当我与机器人聊天但什么也没收到时,SslSocket 获得了连接。编辑:我通过我的电脑上的 webhook 接收消息。
标签: java bots botframework skype skype-bots