Я работаю с Microsoft Bot Framework SDK v3, а также v4, для node.js. У меня есть один бот v3 и один бот v4, оба с каналом команд MS, но я не могу получить данные профиля пользователя в коде бота для бота v4. (точно ищет userprincipalname )
В v3 я использую TeamsChatConnector, у которого есть fetchMembers (), который извлекает сведения о пользователях, но в v4 все изменилось. Он также известен как «Получение списка команд».
Вот документация
В боте v4 есть BotFrameworkAdapter, который не является специфическим для команд MS или любого другого канала. Если я проверяю объект активности, я могу видеть из свойства from, у него есть только имя пользователя: 'lastName, First name' AND
Идентификатор объекта AAD, но не userprincipalname, обычно это адрес электронной почты.
Как я могу получить доступ к электронному адресу пользователя или userprincipalname в BOT-коде v4, если пользователи используют канал команд MS?
connector.fetchMembers(
(<builder.IChatConnectorAddress>session.message.address).serviceUrl,
conversationId,
(err, result) => {
if (err) {
session.endDialog('There is some error');
}
else {
session.endDialog('%s', JSON.stringify(result));
}
}
);