Nachricht in einem Chat senden

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Senden Sie eine neue chatMessage im angegebenen Chat. Diese API kann keinen neuen Chat erstellen. Sie müssen die list chats-Methode verwenden, um die ID eines vorhandenen Chats abzurufen, bevor Sie eine Chatnachricht erstellen.

Hinweise:

  • Es wird nicht empfohlen, diese API für die Datenmigration über den standardmäßigen Nachrichtenfluss zum Erstellen zu verwenden. Verwenden Sie für Datenmigrationsszenarien stattdessen den Nachrichtenfluss importieren .
  • Es ist ein Verstoß gegen die Nutzungsbedingungen , Microsoft Teams als Protokolldatei zu verwenden. Senden Sie nur Nachrichten, die von anderen Personen gelesen werden.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) ChatMessage.Send Chat. ReadWrite, Group.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Teamwork.Migrate.All Nicht verfügbar.

HTTP-Anforderung

POST /chats/{chat-id}/messages

Anforderungsheader

Name Beschreibung
Authorization Bearer {code}. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung eines chatMessage-Objekts an.

Antwort

Bei erfolgreicher Ausführung gibt diese Methode einen 201 Created Antwortcode und ein neues chatMessage-Objekt im Antworttext zurück.

Beispiele

Eine umfassendere Liste von Beispielen finden Sie unter Erstellen von chatMessage in einem Kanal oder Chat.

Beispiel 1: Erstellen einer chatMessage

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/chats/19:2da4c29f6d7041eca70b638b43d45437@thread.v2/messages
Content-type: application/json

{
  "body": {
     "content": "Hello world"
  }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#chats('19%3A2da4c29f6d7041eca70b638b43d45437%40thread.v2')/messages/$entity",
    "id": "1616991463150",
    "replyToId": null,
    "etag": "1616991463150",
    "messageType": "message",
    "createdDateTime": "2021-03-29T04:17:43.15Z",
    "lastModifiedDateTime": "2021-03-29T04:17:43.15Z",
    "lastEditedDateTime": null,
    "deletedDateTime": null,
    "subject": null,
    "summary": null,
    "chatId": "19:2da4c29f6d7041eca70b638b43d45437@thread.v2",
    "importance": "normal",
    "locale": "en-us",
    "webUrl": null,
    "channelIdentity": null,
    "onBehalfOf": null,
    "policyViolation": null,
    "eventDetail": null,
    "from": {
        "application": null,
        "device": null,
        "conversation": null,
        "user": {
            "id": "8ea0e38b-efb3-4757-924a-5f94061cf8c2",
            "displayName": "Robin Kline",
            "userIdentityType": "aadUser"
        }
    },
    "body": {
        "contentType": "text",
        "content": "Hello World"
    },
    "attachments": [],
    "mentions": [],
    "reactions": [],
    "messageHistory": []
}

Beispiel 2: Importieren einer Nachricht

Das folgende Beispiel zeigt, wie Sie eine Nachricht importieren. Weitere Informationen finden Sie unter Importieren von Nachrichten in Microsoft Teams-Chats und -Kanäle mithilfe von Microsoft Graph.

Hinweis: Der Berechtigungsbereich Teamwork.Migrate.All ist für dieses Szenario erforderlich. Der Zielchat muss sich im Migrationsmodus befinden.

Wichtig

Die createdDateTime muss innerhalb des Zielchats bis auf die Millisekunde genau eindeutig sein. Wenn eine Nachricht mit derselben createdDateTime existiert, schlägt die Anforderung mit 409 Conflictfehl. Passen Sie createdDateTime an, und versuchen Sie es erneut. Weitere Informationen finden Sie unter Importieren von Nachrichten in Microsoft Teams-Chats und -Kanäle mithilfe von Microsoft Graph.

Anforderung

Im folgenden Beispiel wird gezeigt, wie Sie eine Nachricht im Namen eines Benutzers mithilfe von createdDateTime und aus Eigenschaften im Anforderungstext in einen Chat importieren.

POST https://graph.microsoft.com/beta/chats/19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2/messages

{
   "createdDateTime": "2019-02-04T19:58:15.511Z",
   "from": {
      "user": {
         "id": "8ea0e38b-efb3-4757-924a-5f94061cf8c2",
         "displayName": "Robin Kline",
         "userIdentityType": "aadUser"
      }
   },
   "body": {
      "contentType": "html",
      "content": "Hello World"
   }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 200 OK

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#chats('19%3A4b6bed8d24574f6a9e436813cb2617d8%40thread.tacv2')/messages/$entity",
    "id": "1616991463150",
    "replyToId": null,
    "etag": "1616991463150",
    "messageType": "message",
    "createdDateTime": "2019-02-04T19:58:15.511Z",
    "lastModifiedDateTime": null,
    "deletedDateTime": null,
    "subject": null,
    "summary": null,
    "chatId": "19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2",
    "importance": "normal",
    "locale": "en-us",
    "webUrl": null,
    "channelIdentity": null,
    "policyViolation": null,
    "eventDetail": null,
    "from": {
        "application": null,
        "device": null,
        "conversation": null,
        "user": {
            "id": "8ea0e38b-efb3-4757-924a-5f94061cf8c2",
            "displayName": "Robin Kline",
            "userIdentityType": "aadUser"
        }
    },
    "body": {
        "contentType": "html",
        "content": "Hello World"
    },
    "attachments": [],
    "mentions": [],
    "reactions": []
}