2016-11-09 7 views
8

Я внедрил бот-приложение для Skype с помощью Microsoft Bot Framework (версия 3.0.0.59).Найти имя пользователя skype из Microsoft Bot Framework Канал

Я реализовал как получить имя Skype & Идентификатор, но я не могу получить имя пользователя учетной записи Skype. Как я могу получить имя пользователя моей учетной записи Skype?

ответ

3

Невозможно. Начиная с версии API версии v3 пользователь теперь представлен уникальным идентификатором пользователя для каждого бота. Это должно обеспечить дополнительный уровень конфиденциальности пользователям (в значительной степени похожим на Facebook).

В От собственности MessageActivity вы найдете только Id и имя, но не имя пользователя

+1

Нет уверен, что они думают, причина моего заявления. Если вы хотите сопоставить отображаемое имя с записью db, это вызовет проблемы, поскольку у нескольких пользователей может быть имя sam. Как обойти это? –

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; 
}