Невозможно получить информацию из Microsoft Bot Builder TeamsContext - PullRequest
0 голосов
/ 04 июня 2019

Обновление фреймворка ботов до V4 (4.4.3): выглядит много изменений в полной структуре при использовании фреймворков ботов. В нашем случае пользователь команды инициирует чат с ботом (наше приложение), и бот может получить чат. Но для идентификации идентификатора электронной почты пользователей групп, идентификаторов команд и т. Д. Нам нужно использовать TeamsContext для извлечения деталей. Но teamContext.Team.Id, teamContext.Tenant.Id и т. Д. Имеют значение NULL. Наша цель - получить данные о пользователях команд, такие как имя, адрес электронной почты, идентификатор арендатора и т. Д.

// Before doing Teams specific stuff, get hold of the TeamsContext
ITeamsContext teamsContext = turnContext.TurnState.Get<ITeamsContext>();

// From there we can get the Team ID, Channel ID, and Tenant ID off of the incoming activity
string incomingTeamId = teamsContext.Team.Id;
string incomingChannelid = teamsContext.Channel.Id;
string incomingTenantId = teamsContext.Tenant.Id;

1 Ответ

0 голосов
/ 04 июня 2019

Но командыContext.Team.Id, teamContext.Tenant.Id и т. Д. Имеют значение NULL. Наша цель - получить информацию о пользователях групп, такую ​​как имя, адрес электронной почты, идентификатор арендатора и т. Д.

Насколько я пытался, даже после выхода пакета Teams Nuget эти значения никогда не предоставлялись при прямом взаимодействии пользователя с ботом. Они устанавливаются только при разговоре (с несколькими пользователями).

Я не думаю, что это связано с Bot SDK 4.4.3, но только с начальным поведением этого метода (честно говоря, я тоже удивился, когда делал свои тесты)

...