Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nachdem Sie Ihren Bot proaktiv für einen Benutzer mit Microsoft Graph installiert haben, können Sie ihm eine persönliche 1:1-Willkommensnachricht senden. Dies umfasst das Abrufen der Konversation chatId für den Benutzer und das anschließende Senden der Nachricht mithilfe des Teams SDK.
Abrufen der chatId einer Unterhaltung
Wenn Ihre App für den Benutzer installiert wird, empfängt der Bot eine Installationsaktivität . Verwenden Sie den Handler (C#) oder install.add das OnInstall Ereignis (Node.js/Python) im Teams SDK, um die conversationId erforderlichen Nachrichten zum Senden der proaktiven Nachricht zu erfassen.
Microsoft Graph-Seitenreferenz:Chat abrufen
Sie müssen über die
{teamsAppInstallationId}Ihrer App verfügen. Wenn sie nicht vorhanden ist, verwenden Sie Folgendes:HTTP GET-Anforderung:
GET https://graph.microsoft.com/v1.0/users/{user-id}/teamwork/installedApps?$expand=teamsApp&$filter=teamsApp/id eq '{teamsAppId}'Die id-Eigenschaft der Antwort ist die
teamsAppInstallationId.Führen Sie die folgende Anforderung aus, um die
chatIdabzurufen:HTTP GET-Anforderung (Berechtigung – ):
TeamsAppInstallation.ReadWriteSelfForUser.AllGET https://graph.microsoft.com/v1.0/users/{user-id}/teamwork/installedApps/{teamsAppInstallationId}/chatDie id-Eigenschaft der Antwort ist die
chatId.Sie können die
chatIdauch mit der folgenden Anforderung abrufen, sie erfordert jedoch die umfassendereChat.Read.All-Berechtigung:HTTP GET-Anforderung (Berechtigung – ):
Chat.Read.AllGET https://graph.microsoft.com/v1.0/users/{user-id}/chats?$filter=installedApps/any(a:a/teamsApp/id eq '{teamsAppId}')
Senden proaktiver Nachrichten
Ihr Bot kann proaktive Nachrichten senden, nachdem er für einen Benutzer oder ein Team hinzugefügt wurde und alle Benutzerinformationen erhalten hat.
Codeausschnitte
Der folgende Code stellt ein Beispiel für das Senden proaktiver Nachrichten dar:
using Microsoft.Teams.Api;
using Microsoft.Teams.Apps;
// ...
// Store conversation IDs (e.g., during install event)
var conversationStorage = new Dictionary<string, string>();
app.OnInstall(async context =>
{
var userId = context.Activity.From.AadObjectId;
var conversationId = context.Activity.Conversation.Id;
conversationStorage[userId] = conversationId;
await context.Send("Hi! I will send you proactive notifications.");
});
// Send proactive message from anywhere
public static async Task SendProactiveNotification(string userId)
{
var conversationId = conversationStorage.GetValueOrDefault(userId);
if (conversationId is null) return;
await app.Send(conversationId, "Proactive hello.");
}