Microsoft Bot Framework渠道中如何找到Skype的用户名

8

我使用Microsoft Bot Framework(版本3.0.0.59)实现了Skype机器人应用程序。

我已经实现了如何检索Skype名称和ID,但是我无法检索Skype帐户的用户名。我该如何获取我的Skype帐户的用户名?

2个回答

3

不可能实现。从API的v3版本开始,用户由每个机器人的唯一用户ID表示。这是为了为用户提供额外的隐私保护(与Facebook类似)。

在MessageActivity的From属性中,您将只找到ID和名称,但不会找到用户名。


1
不确定他们当时在想什么,这是我的说法的原因。如果您将显示名称映射到数据库记录,则会引起问题,因为多个用户可能具有相同的名称。如何解决这个问题? - Richard Bailey

0
//Answer
if(activity.From.Name != null)
string userName= activity.From.Name;

//Example

public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
    if (activity.Type == ActivityTypes.Message)
    {
    string userName= "";
    if(activity.From.Name != null)
    userName= activity.From.Name;//Here we are getting user name
    ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
    Activity reply = activity.CreateReply(userName);
    activity.TextFormat = "markdown";
    await connector.Conversations.ReplyToActivityAsync(reply);

    }
    else
    {
    HandleSystemMessage(activity);
    }
    var response = Request.CreateResponse(HttpStatusCode.OK);
    return response;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接