Поделиться через


командная работа: sendActivityNotificationToRecipients

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Отправка уведомлений о веб-канале действий нескольким пользователям в массовом режиме.

Дополнительные сведения см. в статье Отправка уведомлений о действиях Teams.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) TeamsActivity.Send Недоступно.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение TeamsActivity.Send.User TeamsActivity.Send

Заметка: Разрешение TeamsActivity.Send.User использует согласие для конкретного ресурса. Разрешения RSC относятся к отдельным получателям в полезных данных.

HTTP-запрос

POST /teamwork/sendActivityNotificationToRecipients

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

Примечание. Предоставленный маркер должен быть не менее 45 минут с момента истечения срока действия. Вызов API вернет ответ, 412 Precondition Failed если срок действия маркера истекает в течение 45 минут.

Текст запроса

В тело запроса добавьте параметры в формате JSON.

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

Параметр Тип Описание
topic teamworkActivityTopic Раздел уведомления. Указывает ресурс, о котором идет речь.
activityType String Тип действия должен быть объявлен в манифесте приложения Teams, за исключением systemDefaultзарезервированного типа действия, который предоставляет текст в свободной форме в строке Actor+Reason уведомления.
chainId Int64 Необязательный параметр. Идентификатор цепочки уведомления. Используется для переопределения предыдущего уведомления. Используйте то же chainId самое в последующих запросах, чтобы переопределить предыдущее уведомление.
previewText itemBody Текст предварительного просмотра для уведомления. В Microsoft Teams отображаются только первые 150 символов.
templateParameters Коллекция keyValuePair Значения переменных шаблона, определенные в записи веб-канала действий, activityType соответствующей в манифесте приложения Teams.
teamsAppId String Необязательный параметр. Идентификатор приложения Teams, связанного с уведомлением. Используется для устранения неоднозначности установленных приложений, если для одного и того же пользователя-получателя установлено несколько приложений с одинаковым идентификатором приложения Microsoft Entra ID. Избегайте совместного использования идентификаторов приложений Microsoft Entra ID между приложениями Teams.
recipients коллекция teamworkNotificationRecipient Получатели уведомления. Поддерживаются только получатели типа aadUserNotificationRecipient . Существует верхний предел в 100 получателей в одном запросе.

Следующий ресурс поддерживается при установке source значения свойства раздела в entityUrl:

Отклик

В случае успешного выполнения это действие возвращает код отклика 202 Accepted.

Примеры

Пример 1. Уведомление нескольких пользователей об ожидающих запросах на утверждение финансов

В следующем примере показано, как массово отправлять уведомление о веб-канале действий нескольким пользователям. В этом примере несколько заинтересованных лиц уведомляют о ожидающих запросах на утверждение финансирования.

Запрос

POST https://graph.microsoft.com/beta/teamwork/sendActivityNotificationToRecipients
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/beta/appCatalogs/teamsApps/{teamsAppId}"
    },
    "activityType": "pendingFinanceApprovalRequests",
    "previewText": {
        "content": "Internal spending team has a pending finance approval requests"
    },
    "recipients": [
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    	},
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "ab88234e-0874-477c-9638-d144296ed04f"
    	},
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "01c64f53-69aa-42c7-9b7f-9f75195d6bfc"
    	}
    ],
    "templateParameters": [
        {
            "name": "pendingRequestCount",
            "value": "5"
        }
    ]
}

Отклик

HTTP/1.1 202 Accepted

Пример 2. Уведомление нескольких пользователей о событии с помощью пользовательского раздела

Если вы хотите связать аспект, который не представляет Microsoft Graph, или вы хотите настроить имя, можно задать источник topictext объекта в и передать для него настраиваемое значение. webUrl является обязательным при использовании topic источника в качестве text.

Запрос

POST https://graph.microsoft.com/beta/teamwork/sendActivityNotificationToRecipients
Content-Type: application/json

{
    "topic": {
        "source": "text",
        "value": "Deployment Approvals Channel",
        "webUrl": "https://teams.microsoft.com/l/message/19:448cfd2ac2a7490a9084a9ed14cttr78c@thread.skype/1605223780000?tenantId=c8b1bf45-3834-4ecf-971a-b4c755ee677d&groupId=d4c2a937-f097-435a-bc91-5c1683ca7245&parentMessageId=1605223771864&teamName=Approvals&channelName=Azure%20DevOps&createdTime=1605223780000"
    },
    "activityType": "deploymentApprovalRequired",
    "previewText": {
        "content": "New deployment requires your approval"
    },
    "templateParameters": [
        {
            "name": "deploymentId",
            "value": "6788662"
        }
    ],
    "recipients": [
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    	},
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "ab88234e-0874-477c-9638-d144296ed04f"
    	},
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "01c64f53-69aa-42c7-9b7f-9f75195d6bfc"
    	}
    ]
}

Отклик

HTTP/1.1 202 Accepted