Прямая ссылка на чат Teams
Вы можете создать прямую ссылку на чат Teams, например, чтобы начать новый чат, перейти в беседу на канале и получить доступ к файлу в канале.
В этой статье вы узнаете, как создать прямую ссылку:
Прямая ссылка для начала нового чата
Вы можете переходить к или создавать личные чаты между пользователями с помощью клиентской библиотеки JavaScript (TeamsJS) Microsoft Teams, указав набор участников. Если чат с указанными участниками не существует, пользователь будет перенаправлен в новый пустой чат.
Когда пользователь создает новый чат с помощью глубокой ссылки, Teams создает новый чат в состоянии черновика, пока пользователь не отправит первое сообщение. Вы также можете указать имя чата, если он еще не существует, а также текст, который следует вставить в поле создания пользователя. Считайте это ярлыком для пользователя, который выполняет вручную переход к чату или создает его, а затем создает сообщение.
В качестве примера использования, если вы извлеките данные профиля пользователя Microsoft 365 из бота в качестве карта, эта прямая ссылка может позволить пользователю приложения легко общаться с этим человеком.
Вы можете настроить глубокие ссылки для запуска нового чата одним из следующих двух способов:
- Настройка прямой ссылки для запуска чата вручную
- Настройка прямой ссылки для запуска чата с помощью библиотеки TeamsJS
Настройка прямой ссылки для запуска чата вручную
Хотя рекомендуется использовать типизированные API, можно также использовать следующий формат для созданной вручную глубокой ссылки, которую можно использовать в боте, соединителе или расширении сообщений карта. Чтобы использовать эту прямую ссылку с ботом, укажите ее в качестве целевого URL-адреса на кнопке карточки или коснитесь действия через тип действия openUrl
.
https://teams.microsoft.com/l/chat/0/0?tenantId=<tenantId>&users=<user1>,<user2>,...&topicName=<chat name>&message=<precanned text>
Параметры запроса:
users
: разделенный запятыми список идентификаторов пользователей, представляющих участников чата. Пользователь, выполняющий действие, всегда включен в качестве участника. В настоящее время параметр User ID поддерживает Microsoft EntraUserPrincipalName
, например только адрес электронной почты.topicName
: необязательный параметр для отображаемого имени чата, если в чате есть три или более пользователей. Если это поле не указано, отображаемое имя чата основывается на именах участников.message
: необязательное поле для текста сообщения, которое вы хотите вставить в поле создания текущего пользователя приложения, пока чат находится в состоянии черновика.
Пример: https://teams.microsoft.com/l/chat/0/0?users=joe@contoso.com,bob@contoso.com&topicName=Prep%20For%20Meeting%20Tomorrow&message=Hi%20folks%2C%20kicking%20off%20a%20chat%20about%20our%20meeting%20tomorrow
Настройка прямой ссылки для запуска чата с помощью библиотеки TeamsJS
В следующем примере показано, как открыть сообщение чата для группы участников с исходным сообщением. Вы можете настроить прямую ссылку на существующий или новый чат. Если чат уже существует, откроется прямая ссылка в этом чате.
if(chat.isSupported()) {
const chatPromise = chat.openGroupChat({ users: ["joe@contoso.com","bob@contoso.com"], topic: "Prep For Meeting Tomorrow", message: "Hi folks kicking off chat about our meeting tomorrow"});
chatPromise.
then((result) => {/*Successful operation*/}).
catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }
Прямая ссылка для перехода к чату
Чтобы перейти к определенной беседе чата в Teams, используйте следующий формат глубокой ссылки:
https://teams.microsoft.com/l/chat/<chatId>/conversations
Параметр запроса — chatId
, который представляет идентификатор чата беседы. Поддерживаемый формат для chatId
— 19:xxx.
Пример: https://teams.microsoft.com/l/chat/19:c6d70e392a384916c3262b15406d763e@thread.v2/conversations
Подробные ссылки для перехода к беседе канала
Для перехода к определенной беседе в потоке канала можно использовать следующий формат глубокой ссылки:
https://teams.microsoft.com/l/message/<channelId>/<parentMessageId>?tenantId=<tenantId>&groupId=<groupId>&parentMessageId=<parentMessageId>&teamName=<teamName>&channelName=<channelName>&createdTime=<createdTime>
Параметры запроса:
channelId
: идентификатор канала беседы. Например,19:3997a8734ee5432bb9cdedb7c432ae7d@thread.tacv2
.tenantId
: идентификатор клиента, например0d9b645f-597b-41f0-a2a3-ef103fbd91bb
.groupId
: идентификатор группы файла. Например,3606f714-ec2e-41b3-9ad1-6afb331bd35d
.parentMessageId
: идентификатор родительского сообщения в беседе.teamName
: имя команды.channelName
: название канала команды.
Примечание.
Вы можете увидеть channelId
и groupId
в URL-адресе канала.
Пример: https://teams.microsoft.com/l/message/<channelId>/1648741500652?tenantId=<tenantId>&groupId=<groupId>&parentMessageId=1648741500652&teamName=<teamName>&channelName=<channelName>&createdTime=1648741500652
Подробные ссылки для перехода к сообщениям чата
Используйте следующий формат глубокой ссылки для перехода пользователя к сообщению в личном или групповом чате в Teams:
https://teams.microsoft.com/l/message/{chatId}/{messageId}?tenantId=<tenantId>?context={"contextType":"chat"}
Пример: https://teams.microsoft.com/l/message/19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces/1563480968434?context=%7B%22contextType%22:%22chat%22%7D
Параметры запроса:
chatId
: идентификатор чата беседы. Поддерживаемый формат —chatId
19: xxx. Например,19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces
. Приложения могут считывать идентификатор чата через контекст приложения в Teams, входящие полезные данные боту или через API Microsoft Graph.Примечание.
Для общения с ботом в входящие полезные данные для бота содержат идентификатор беседы в формате a:xxx.
messageId
: уникальный идентификатор каждого сообщения в чате. Когда бот публикует сообщение в чатеmessageId
, возвращается . Вы также можете получить черезmessageId
API Microsoft Graph. Например,1563480968434
.context
: укажите contextType в качестве чата.
Пример: http://teams.microsoft.com/l/message/19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces/1563480968434?context=%7B%22contextType%22:%22chat%22%7D
Создание глубоких ссылок на файл в канале
В боте, соединителе или расширении сообщений карта для настройки глубокой ссылки для подключения к файлу в канале можно использовать следующий формат глубокой ссылки:
https://teams.microsoft.com/l/file/<fileId>?tenantId=<tenantId>&fileType=<fileType>&objectURL=<objectURL>&baseUrl=<baseURL>&serviceName=<Name>&threadId=<threadId>&groupId=<groupId>
Параметры запроса:
fileId
: Идентификатор уникального документа Sharepoint Online, также известный какsourcedoc
. Например,1FA202A5-3762-4F10-B550-C04F81F6ACBD
.tenantId
: идентификатор клиента, например0d9b645f-597b-41f0-a2a3-ef103fbd91bb
.fileType
: поддерживаемый тип файла, например DOCX, PPTX, XLSX и PDF.objectUrl
: URL-адрес объекта файла. Представлено в форматеhttps://{tenantName}.sharepoint.com/sites/{TeamName}/SharedDocuments/{ChannelName}/FileName.ext
. Например,https://microsoft.sharepoint.com/teams/(filepath)
.baseUrl
: базовый URL-адрес файла. Представлено в форматеhttps://{tenantName}.sharepoint.com/sites/{TeamName}
. Например,https://microsoft.sharepoint.com/teams
.serviceName
: имя службы, идентификатор приложения Например,teams
.threadId
: threadID — это идентификатор команды, в которой хранится файл. Это необязательно и не может быть установлено для файлов, хранящихся в пользовательской папке OneDrive. threadId — 19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype.groupId
: идентификатор группы файла. Например,ae063b79-5315-4ddb-ba70-27328ba6c31e
.
Примечание.
Вы можете увидеть threadId
и groupId
в URL-адресе канала.
Следующий пример формата иллюстрирует глубокую ссылку на файлы:
https://teams.microsoft.com/l/file/5E0154FC-F2B4-4DA5-8CDA-F096E72C0A80?tenantId=0d9b645f-597b-41f0-a2a3-ef103fbd91bb&fileType=pptx&objectUrl=https%3A%2F%2Fmicrosoft.sharepoint.com%2Fteams%2FActionPlatform%2FShared%20Documents%2FFC7-%20Bot%20and%20Action%20Infra%2FKaizala%20Actions%20in%20Adaptive%20Cards%20-%20Deck.pptx&baseUrl=https%3A%2F%2Fmicrosoft.sharepoint.com%2Fteams%2FActionPlatform&serviceName=teams&threadId=19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype&groupId=ae063b79-5315-4ddb-ba70-27328ba6c31e
Сериализация этого объекта
{
fileId: "5E0154FC-F2B4-4DA5-8CDA-F096E72C0A80",
tenantId: "0d9b645f-597b-41f0-a2a3-ef103fbd91bb",
filetype: = "pptx",
objectUrl: "https://microsoft.sharepoint.com/teams/ActionPlatform/Shared Documents/FC7- Bot and Action Infra/Kaizala Actions in Adaptive Cards - Deck.pptx",
baseUrl: "https://microsoft.sharepoint.com/teams/ActionPlatform",
serviceName: "teams",
threadId: = "19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype",
groupId: "ae063b79-5315-4ddb-ba70-27328ba6c31e"
}
Пример кода
Название примера | Описание | .NET | Node.js |
---|---|---|---|
Прямая ссылка, используюющая идентификатор subentity | В этом примере показано, как использовать прямую ссылку из чата бота на вкладку с использованием идентификатора subentity. Здесь также отображаются прямые ссылки для перехода к приложению, перехода в чат, открытия диалогового окна профиля и открытия диалогового окна планирования. | Просмотр | Просмотр |
Platform Docs
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по