次の方法で共有


team: sendActivityNotification

名前空間: microsoft.graph

チームのスコープ内でアクティビティ フィード通知を送信します。 通知の送信とその要件の詳細については、「 Teams アクティビティ通知の送信」を参照してください。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) TeamsActivity.Send 注意事項なし。
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション TeamsActivity.Send.Group TeamsActivity.Send

注:

TeamsActivity.Send.Group アクセス許可では 、リソース固有の同意が使用されます。

HTTP 要求

POST /teams/{teamId}/sendActivityNotification

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. 必須です。

要求本文

要求本文で、パラメーターの JSON 表記を指定します。

次の表に、このアクションで使用できるパラメーターを示します。

パラメーター 種類 説明
topic teamworkActivityTopic 通知のトピック。 話し合うリソースを指定します。
activityType String アクティビティの種類は、通知のActor+Reason行に自由形式のテキストを提供するsystemDefault予約済みアクティビティの種類を除き、Teams アプリ マニフェストで宣言する必要があります。
chainId Int64 省略可能。 通知のチェーン ID。 以前の通知をオーバーライドするために使用されます。 後続の要求でも同じ chainId を使用して、前の通知をオーバーライドします。
previewText itemBody 通知のプレビュー テキスト。 Microsoft Teamsは、最初の 150 文字を示します。
templateParameters keyValuePair コレクション Teams アプリ マニフェストactivityTypeに対応するアクティビティ フィード エントリで定義されているテンプレート変数の値。
受信者 teamworkNotificationRecipient 通知の受信者。 詳細については、「 aadUserNotificationRecipientchannelMembersNotificationRecipientteamMembersNotificationRecipient」を参照してください。
teamsAppId String 省略可能。 通知に関連付けられている Teams アプリの Teams アプリ ID。 同じ受信者ユーザーに対して同じ Microsoft Entra ID アプリ ID を持つ複数のアプリがインストールされている場合に、インストールされているアプリを明確にするために使用されます。 Teams アプリ間で Microsoft Entra ID アプリ ID を共有しないようにします。

トピック プロパティのsource値を entityUrl に設定する場合、次のリソースがサポートされます。

手記: エンティティ URL は、URL 内のチームの同じリソースまたは子リソースである必要があります。 さらに、 Teams アプリ をチームにインストールする必要があります。

応答

成功した場合、このアクションは 204 No Content 応答コードを返します。

例 1: 保留中の財務承認要求についてユーザーに通知する

この例では、チームのアクティビティ フィード通知を送信する方法を示します。 この例では、保留中の財務承認要求についてチーム所有者に通知します。

要求

POST https://graph.microsoft.com/v1.0/teams/{teamId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/{teamId}"
    },
    "activityType": "pendingFinanceApprovalRequests",
    "previewText": {
        "content": "Internal spending team has a pending finance approval requests"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "pendingRequestCount",
            "value": "5"
        }
    ] 
}

応答

HTTP/1.1 204 No Content

例 2: チャネル タブについてユーザーに通知する

前の例と同様に、この例ではtopicentityUrlを使用します。 ただし、この例では、チャネルタブにリンクします。 タブは、ユーザーがホテルの予約の状態を示すページをホストします。 通知を選択すると、ユーザーはタブに移動し、予約を確認できます。

要求

POST https://graph.microsoft.com/v1.0/teams/{teamId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/{teamId}/channels/{channelId}/tabs/{tabId}"
    },
    "activityType": "reservationUpdated",
    "previewText": {
        "content": "You have moved up the queue"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "reservationId",
            "value": "TREEE433"
        },
        {
            "name": "currentSlot",
            "value": "23"
        }
    ]
}

応答

HTTP/1.1 204 No Content

例 3: ユーザー プリンシパル名を使用してチャネル タブについてユーザーに通知する

前の例と同様に、この例ではtopicentityUrlを使用します。 ただし、この例では、チャネルタブにリンクします。 タブは、ユーザーがホテルの予約の状態を示すページをホストします。 通知を選択すると、ユーザーはタブに移動し、予約を確認できます。

要求

POST https://graph.microsoft.com/v1.0/teams/{teamId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/{teamId}/channels/{channelId}/tabs/{tabId}"
    },
    "activityType": "reservationUpdated",
    "previewText": {
        "content": "You have moved up the queue"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "jacob@contoso.com"
    },
    "templateParameters": [
        {
            "name": "reservationId",
            "value": "TREEE433"
        },
        {
            "name": "currentSlot",
            "value": "23"
        }
    ]
}

応答

HTTP/1.1 204 No Content

例 4: カスタム トピックを使用してイベントについてユーザーに通知する

前の例で示したように、チームのさまざまな側面にリンクできます。 ただし、チームの一部ではない、または Microsoft Graph で表されていない側面にリンクする場合、または名前をカスタマイズする場合は、 topic のソースを text に設定し、カスタム値を渡すことができます。 webUrlは、ソースtopictextに設定する場合に必要です。

要求

POST https://graph.microsoft.com/v1.0/teams/{teamId}/sendActivityNotification
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"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "deploymentId",
            "value": "6788662"
        }
    ]
}

応答

HTTP/1.1 204 No Content

例 5: 保留中の財務承認要求についてチーム メンバーに通知する

次の例は、すべてのチーム メンバーにアクティビティ フィード通知を送信する方法を示しています。 この例は、前の例と似ています。 ただし、この場合、 受信者teamMembersNotificationRecipient です受信者に指定された teamId は、要求 URL で指定された teamId と一致する必要があります。

手記: すべてのチーム メンバーに通知を送信する機能は、10,000 人以下のチームに制限されます。 チームが 10,000 人を超える場合、どのチーム メンバーも通知を受け取らなくなります。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7"
    },
    "activityType": "pendingFinanceApprovalRequests",
    "previewText": {
        "content": "Internal spending team has a pending finance approval requests"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.teamMembersNotificationRecipient",
        "teamId": "e8bece96-d393-4b9b-b8da-69cedef1a7e7"
    },
    "templateParameters": [
        {
            "name": "pendingRequestCount",
            "value": "5"
        }
    ] 
}

応答

次の例は応答を示しています。

HTTP/1.1 204 No Content

例 6: 保留中の財務承認要求についてチャネル メンバーに通知する

次の例は、すべてのチャネル メンバーにアクティビティ フィード通知を送信する方法を示しています。 この例は、前の例と似ています。 ただし、この場合、 受信者channelMembersNotificationRecipient です受信者に指定された teamId は、要求 URL で指定された teamId と一致する必要があります。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7"
    },
    "activityType": "pendingFinanceApprovalRequests",
    "previewText": {
        "content": "Internal spending team has a pending finance approval requests"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.channelMembersNotificationRecipient",
        "teamId": "e8bece96-d393-4b9b-b8da-69cedef1a7e7",
        "channelId": "19:3d61a2309f094f4a9310b20f1db37520@thread.tacv2"
    },
    "templateParameters": [
        {
            "name": "pendingRequestCount",
            "value": "5"
        }
    ] 
}

応答

次の例は応答を示しています。

HTTP/1.1 204 No Content

例 7: チャネル メッセージの返信場所で保留中の財務承認要求について通知する

前の例と同様に、この例ではtopicentityUrlを使用します。 ただし、この例では チャネル メッセージ応答にリンクします。 チャネル メッセージ応答には、ユーザーのホテル予約の状態が表示されます。 通知を選択すると、ユーザーはチャネルの返信メッセージに移動し、予約の状態を確認できます。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/teams/e8bece96-d393-4b9b-b8da-69cedef1a7e7/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/beta/teams/{teamId}/channels/{channelId}/messages/{messageId}/replies/{replyId}"
    },
    "activityType": "reservationStatusUpdated",
    "previewText": {
        "content": "You have moved up the queue"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "jacob@contoso.com"
    },
    "templateParameters": [
        {
            "name": "reservationId",
            "value": "TREEE433"
        },
        {
            "name": "currentSlot",
            "value": "23"
        }
    ]
}

応答

次の例は応答を示しています。

HTTP/1.1 204 No Content