Я использовал Graph Service для получения информации о пользователе по электронной почте.Вот мой пример кода:
var user = null;
const GraphService = require('graph-service');
const ClientCredentials = require('client-credentials');
const tenant = 'my-company.com';
const clientId = '0b13aa29-ca6b-42e8-a083-89e5bccdf141';
const clientSecret = 'lsl2isRe99Flsj32elwe89234ljhasd8239jsad2sl=';
const credentials = new ClientCredentials(tenant, clientId, clientSecret);
const service = new GraphService(credentials);
service.get('/users/tnguyen482@my-company.com').then(response => {
user = response.data;
});
Это вернуло бы пользователя с ID = 9422e847-0000-1111-2222-d39d550a4fb6
Но когда я использую Botbuilder-команды получать выборки участников, информация о пользователях которых возвращается с разным форматом идентификатора.Вот мой пример кода:
var user = null;
var teams = require("botbuilder-teams");
var connector = new teams.TeamsChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
let conversationId = session.message.address.conversation.id;
var userEmail = "tnguyen482@my-company.com";
connector.connector.fetchMembers(
"https://smba.trafficmanager.net/amer-client-ss.msg/",
conversationId,
(err, result) => {
if (err) {
console.log('Cannot get member of current conversation');
}
else {
if (result.length > 0){
result.forEach(function(item) {
if (item.email == userEmail){
user = item;
}
});
}
}
}
);
Это вернуло бы пользователя, который имеет ID = 29: 1zJXjlM7ifjqawGVxXx_4xxx56BFCCIJWfPbWrVDSdxsKUhi9IXyXXYNLOKCLHodN7WgEzz31l5KZ * * *вернуть другой формат идентификатора?
Кроме того, моя цель состоит в том, чтобы я использовал идентификатор пользователя в адресе для Botbuilder, чтобы отправить личное сообщение пользователю.