Прямая ссылка на рабочий процесс в Teams

Вы можете создать прямую ссылку для выполнения определенной задачи в Teams, например создать новый чат, открыть диалоговое окно планирования и перейти к аудио-видеозвонку.

В этой статье вы узнаете, как создать прямую ссылку:

Приложения могут запускать новый чат со списком пользователей и предоставлять дополнительные сведения, такие как имя чата и черновик сообщения, в следующем формате:

https://teams.microsoft.com/l/chat/0/0?users=<user1>,<user2>,...&topicName=<chat name>&message=<precanned text>

Пример: 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

Параметры запроса:

  • users: разделенный запятыми список идентификаторов пользователей, представляющих участников чата. Пользователь, выполняющий действие, всегда включен в качестве участника. В настоящее время поле Идентификатор пользователя поддерживает Microsoft Entra UserPrincipalName, например только адрес электронной почты.
  • topicName: необязательное поле для отображаемого имени чата, если в чате есть три или более пользователей. Если это поле не указано, отображаемое имя чата основывается на именах участников.
  • message: необязательное поле для текста сообщения, которое необходимо вставить в поле создания текущего пользователя, когда чат находится в состоянии черновика.

Чтобы использовать эту прямую ссылку с ботом, укажите прямую ссылку в качестве целевого URL-адреса в кнопке карта или коснитесь действия с помощью openUrl типа действия. Приложения также могут использовать клиентскую библиотеку Teams JavaScript (TeamsJS) версии 2.0 или более поздней версии, чтобы создать эту библиотеку без необходимости вручную подготавливать прямую ссылку. В следующем примере 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, чтобы открыть диалоговое окно планирования собраний и предоставить такие сведения, как название собрания и участники, с помощью следующих методов:

Хотя мы рекомендуем использовать типизированные API TeamsJS, можно вручную создать глубокие ссылки на встроенное диалоговое окно планирования Teams.

Используйте следующий формат для настройки глубокой ссылки, которую можно использовать в боте, соединителе или расширении сообщений карта:

https://teams.microsoft.com/l/meeting/new?subject=<meeting subject>&startTime=<date>&endTime=<date>&content=<content>&attendees=<user1>,<user2>,<user3>,...

Примечание.

Параметры поиска не поддерживают сигнал + вместо пробела (``). Убедитесь, что код кодировки URI возвращается %20 для пробелов. Например, хорошо, ?subject=test%20subject но ?subject=test+subject плохо.

Параметры запроса:

  • attendees: необязательный список идентификаторов пользователей, разделенных запятыми, представляющих участников собрания. Пользователь, выполняющий действие, является организатором собрания. Поле идентификатора пользователя поддерживает только Microsoft Entra UserPrincipalName, обычно это адрес электронной почты.
  • startTime: необязательный параметр для времени начала события. Время начала должно быть в формате ISO 8601, например 2018-03-12T23:55:25+02:00.
  • endTime: необязательный параметр для времени окончания события, также в формате ISO 8601.
  • subject: необязательный параметр для темы собрания.
  • content: необязательный параметр для поля сведений о собрании.

Примечание.

Невозможно указать расположение, так как оно не поддерживается. При создании времени начала и окончания необходимо указать смещение в формате UTC, включая часовые пояса.

Чтобы использовать эту прямую ссылку с ботом, можно указать прямую ссылку в качестве целевого URL-адреса в кнопке карта или в качестве действия касания с помощью openUrl типа действия.

Пример: https://teams.microsoft.com/l/meeting/new?subject=test%20subject&attendees=joe@contoso.com,bob@contoso.com&startTime=10%2F24%2F2018%2010%3A30%3A00&endTime=10%2F24%2F2018%2010%3A30%3A00&content=​​​​​​​test%3Acontent​​​​​​​​​​​​​​

Вы также можете использовать TeamsJS версии 2.0 или более поздней версии в приложении Teams, чтобы открыть диалоговое окно планирования собрания без необходимости вручную подготавливать ссылку. Чтобы открыть диалоговое окно планирования в Teams, необходимо продолжать использовать исходный метод на основе URL-адреса прямой ссылки, так как Teams еще не поддерживает возможность календаря:

// Open a scheduling dialog from your tab
if(calendar.isSupported()) {
   const calendarPromise = calendar.composeMeeting({
      attendees: ["joe@contoso.com", "bob@contoso.com"],
      content: "test content",
      endTime: "2018-10-24T10:30:00-07:00",
      startTime: "2018-10-24T10:00:00-07:00",
      subject: "test subject"});
   calendarPromise.
      then((result) => {/*Successful operation*/}).
      catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }

Дополнительные сведения о работе с календарем см. в пространстве имен календаря в справочной документации по API.

Вы можете настроить приложения Teams, чтобы подготовить прямую ссылку для пользователей, чтобы начать единый звонок, групповой звонок или видеозвонок. Вы можете вызывать только звуковые или аудио-видеозвонки для одного пользователя или группы пользователей, указав тип вызова и участников. Перед выполнением вызова Teams клиент запрашивает подтверждение. Если есть групповой вызов, вы можете вызвать набор пользователей VoIP и ТСОП в одном вызове глубокой ссылки.

В видеовызове клиент Teams запрашивает подтверждение перед включением видео звонящего для вызова. Получатель звонка может ответить только через голосовой вызов или голосовой и видеовызов через окно уведомления о звонках Teams.

Примечание.

Этот метод нельзя использовать для вызова собрания.

Вы можете настроить глубокие ссылки одним из следующих двух способов:

Хотя рекомендуется использовать типизированные API TeamsJS версии 2.0 или более поздней версии, вы также можете использовать настроенную вручную прямую ссылку для запуска вызова. См. следующие форматы:

Прямая ссылка Формат Пример
Совершение голосовых звонков https://teams.microsoft.com/l/call/0/0?users=<user1>,<user2> https://teams.microsoft.com/l/call/0/0?users=joe@contoso.com
Совершение голосовых и видеозвонков https://teams.microsoft.com/l/call/0/0?users=<user1>,<user2>&withVideo=true https://teams.microsoft.com/l/call/0/0?users=joe@contoso.com&withVideo=true
Совершение голосовых и видеозвонков с дополнительным источником параметров https://teams.microsoft.com/l/call/0/0?users=<user1>,<user2>&withVideo=true&source=demoApp https://teams.microsoft.com/l/call/0/0?users=joe@contoso.com&withVideo=true&source=demoApp
Совершение голосовых и видеозвонков пользователям для пользователей протокола VoIP и ТСОП https://teams.microsoft.com/l/call/0/0?users=<user1>,4:<phonenumber> https://teams.microsoft.com/l/call/0/0?users=joe@contoso.com,4:9876543210

Ниже приведены параметры запроса:

  • users: разделенный запятыми список идентификаторов пользователей, представляющих участников вызова. Поле идентификатора пользователя поддерживает Microsoft Entra UserPrincipalName, обычно адрес электронной почты, или в вызове по ТСОП поддерживает ТСОП MRI 4:<phonenumber>.
  • withVideo: необязательный параметр, который можно использовать для выполнения видеозвонка. Установка этого параметра включает только камеру вызывающего объекта. Получатель звонка может ответить с помощью звука или аудио- и видеозвонка через окно уведомлений о вызове Teams.

Приложения также могут использовать TeamsJS версии 2.0 или более поздней версии для запуска вызовов без необходимости вручную подготавливать эти глубокие ссылки. В следующем коде показано использование TeamsJS для запуска вызова:

if(call.isSupported()) {
    const callPromise = call.startCall({ targets: ["joe@contoso.com","bob@contoso.com","4:9876543210"], requestedModalities: [call.CallModalities.Audio], source: "demoApp"});
    callPromise.
      then((result) => {/*Successful operation*/}).
      catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }

Вы можете создать прямую ссылку для предоставления общего доступа к приложению для этапа и начала собрания или присоединения к нему.

Подробные ссылки для предоставления общего доступа к содержимому на стадии см. в разделе Прямая ссылка для предоставления общего доступа к содержимому на этапе собраний.

Вы можете создать прямую ссылку на боковую панель собрания в собрании. Используйте следующий формат для прямой ссылки на боковую панель собрания:

https://teams.microsoft.com/l/entity/<appId>/<entityId>?webUrl=<entityWebUrl>&label=<entityLabel>&context=<context>.

Пример:

https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123/456&label=Task 456&context={"chatId": "17:b42de192376346a7906a7dd5cb84b673@thread.v2","contextType":"chat"}

По умолчанию прямая ссылка открывается на боковой панели собрания. Чтобы открыть прямую ссылку непосредственно в приложении, а не на боковой панели собрания, добавьте openInMeeting=false в формате прямой ссылки:

https://teams.microsoft.com/l/entity/<appId>/<entityId>?webUrl=<entityWebUrl>&label=<entityLabel>&context=<context>&openInMeeting=false

Дополнительные сведения см. в разделе Прямая ссылка на вкладку.

Прямая ссылка не открывается на боковой панели собрания в следующих сценариях:

  • Активное собрание отсутствует.
  • В манифесте приложения нет sidePanel объявленного контекста.
  • openInMeeting в прямой ссылке задано значение false .
  • Прямая ссылка выбирается за пределами окна собрания или компонента.
  • Прямая ссылка не соответствует текущему собранию, например прямая ссылка, созданная в другом собрании.

Приложение Teams может считывать URL-адрес для присоединения к URL-адресу собрания с помощью API Graph. Эта прямая ссылка открывает пользовательский интерфейс для присоединения пользователя к собранию. Дополнительные сведения см. в разделе Получение onlineMeeting и получение сведений о собрании.

Пример кода

Название примера Описание .NET Node.js
Прямая ссылка, используюющая идентификатор subentity В этом примере показано, как использовать прямую ссылку из чата бота на вкладку, используюющую идентификатор subentity. Здесь также показаны подробные ссылки для:
— Переход к приложению
— Переход к чату
— Открытие диалогового окна профиля
— Открытие диалогового окна планирования
Просмотр Просмотр