在 Bot Framework 中获取 Skype 身份?

Posted

技术标签:

【中文标题】在 Bot Framework 中获取 Skype 身份?【英文标题】:Getting Skype Identity In Bot Framework? 【发布时间】:2016-04-14 08:06:13 【问题描述】:

我已经成功编写了一个简单的机器人应用程序,让它在 Skype 中进行通信。

我尝试在用户说“你好”时向他们个性化欢迎信息。但是,我似乎无法从“来自”ChannelAccount 字段中获取他们的 Skype 显示名称或电子邮件。名称和地址具有奇怪的值。例如,对于一个用户,他们返回格式为“8:skypename”的内容,而对于另一个用户,他们返回“4:564:differentskypename”。对于特定用户,这些值是一致的,但格式不同。

有谁知道您是否可以直接获取用户的基本 Skype 信息?还是您需要单独调用才能获得它?

提前致谢

【问题讨论】:

【参考方案1】:

目前不支持获取用户的 Skype 信息(除了他们的 Skype 句柄)。对于手柄,只需去掉前缀(即“8:”)。 (这些前缀是 Skype api 返回的前缀)。

【讨论】:

你知道这是否是计划中的功能吗? 在 Build 2016 中,他们表示机器人可以使用用户的信息,而不仅仅是模糊的 ID。 -- 去掉前缀后,我得到了一个看起来很疯狂的 base64 字符串。那绝对不是我注册的 Skype 句柄。 -- 你如何至少得到实际的句柄?【参考方案2】:

Skype 机器人接收一个唯一的用户身份,例如 29:2hJJkjmGn4ljB2X7YYEju-sgFwgvnISvE6G3abGde8ts - 这与用户的 Skype ID 不同(称为上面的句柄)。每条消息还包含应该使用的用户显示名称。

例如

"from": 
"id": "29:2hJJkjmGn4ljB2X7YYEju-sgFwgvnISvE6G3abGde8ts",
"name": "Display Name"

【讨论】:

以上是关于在 Bot Framework 中获取 Skype 身份?的主要内容,如果未能解决你的问题,请参考以下文章

在使用 Bot Framework 时,如何将 Skype 音频附件与 Bing Speech API 一起使用?

Bot Framework v4 + Messenger 区域设置

如何获取所有可用的 Microsoft bot Skype 组

如何使用 Skype BOT api 发送聊天消息

Microsoft bot 框架获取用户时区

Microsoft Bot Framework - 如何将数据从 Azure 数据库获取到我的 Bot 项目?