Получение идентификатора пользователя Teams на основе идентификатора AAD - PullRequest
1 голос
/ 06 мая 2020

Я пытаюсь начать запланированный проактивный диалог (бот инициирует разговор в запланированное время). Мне удалось получить идентификатор пользователя AAD на основе Graph API, но он не соответствует идентификатору пользователя Teams. Пытался получить правильный идентификатор более 2 часов, но не могу понять, как это сделать. Какой подход лучше всего выбрать?

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Взгляните на API Microsoft Graph, чтобы получить идентификатор чата .

Когда приложение установлено для пользователя, бот получит событие talkUpdate который будет содержать необходимую информацию для отправки проактивного сообщения. Для получения дополнительной информации см. События ботов.

Если вы потеряете chatThreadId, вы можете найти его снова, позвонив:

GET /users/{user-id}/chats?$filter=installedApps/any(a:a/teamsApp/id eq '{teamsAppid}')

Однако это будет только для личной области ! Я бы посоветовал убедиться, что вы поймаете conversationUpdate, который запускается после установки, и сохраните данные пользователя в базе данных.

0 голосов
/ 06 мая 2020

Мне любопытно, как вы пытались "сопоставить" их? В любом случае, я не думаю, что они должны каким-либо образом совпадать (идентификатор Guid aadObjectId и идентификатор пользователя «29: ...»). В результате вы должны сохранить отображение на своей стороне (базе данных или аналогичном). В любом случае вам необходимо сохранить ServiceUrl и ConversationId для упреждающего обмена сообщениями, поэтому просто добавьте идентификатор пользователя.

...