Erstellen von Office 365-Connectors

Mit Microsoft Teams Apps können Sie Ihren vorhandenen Office 365 Connector hinzufügen oder einen neuen connector in Teams erstellen. Weitere Informationen finden Sie unter Erstellen Eines eigenen Connectors.

Hinzufügen eines Connectors zu Teams App

Sie können ein Paket erstellen und Ihren Connector im Rahmen Ihrer AppSource-Übermittlung veröffentlichen. Sie können Ihren registrierten Connector als Teil Ihres Teams-App-Pakets verteilen. Informationen zu Einstiegspunkten für Teams App finden Sie unter "Funktionen". Sie können das Paket auch direkt für Benutzer bereitstellen, um es in Teams hochzuladen.

Um Den Connector zu verteilen, müssen Sie sich über das Connectors Developer Dashboardregistrieren. Wenn ein Connector registriert ist, wird davon ausgegangen, dass er in allen Office 365 Produkten funktioniert, die Anwendungen unterstützen, einschließlich Outlook und Teams. Wenn dies nicht der Fall ist und Sie einen Connector erstellen müssen, der nur in Microsoft Teams funktioniert, wenden Sie sich an: Microsoft Teams E-Mail-Adresse für App-Übermittlungen.

Wichtig

Ihr Connector wird registriert, nachdem Sie im Connectors Developer Dashboard die Option "Speichern" ausgewählt haben. Wenn Sie Ihren Connector in AppSource veröffentlichen möchten, folgen Sie den Anweisungen in der Veröffentlichung Ihrer Microsoft Teams-App in AppSource. Wenn Sie Ihre App nicht in AppSource veröffentlichen möchten, verteilen Sie sie direkt an die Organisation. Nach der Veröffentlichung von Connectors für Ihre Organisationsind keine weiteren Aktionen im Connector-Dashboard erforderlich.

Integrieren der Konfigurationsumgebung

Benutzer können die gesamte Connectorkonfiguration abschließen, ohne den Teams-Client verlassen zu müssen. Um die Erfahrung zu erhalten, können Teams Ihre Konfigurationsseite direkt in einen iframe einbetten. Die Reihenfolge der Vorgänge lautet wie folgt:

  1. Der Benutzer wählt den Connector aus, um mit dem Konfigurationsprozess zu beginnen.

  2. Der Benutzer interagiert mit der Weboberfläche, um die Konfiguration abzuschließen.

  3. Der Benutzer wählt Speichern aus, wodurch ein Rückruf im Code ausgelöst wird.

    Hinweis

    • Der Code kann das Speicherereignis verarbeiten, indem die Webhook-Einstellungen abgerufen werden. Ihr Code speichert den Webhook, um Ereignisse später zu posten.
    • Die Konfigurationsoberfläche wird inline in Teams geladen.

Sie können Ihre vorhandene Webkonfigurationsoberfläche wiederverwenden oder eine separate Version erstellen, die speziell in Teams gehostet werden soll. Ihr Code muss das Microsoft Teams JavaScript SDK enthalten. Dadurch erhält Ihr Code Zugriff auf APIs, um allgemeine Vorgänge auszuführen, z. B. den aktuellen Benutzer-, Kanal- oder Teamkontext abzurufen und Authentifizierungsflüsse zu initiieren.

So integrieren Sie die Konfigurationsumgebung

  1. Initialisieren Sie das SDK durch Aufrufen von microsoftTeams.initialize().

  2. Aufruf microsoftTeams.settings.setValidityState(true) zum Aktivieren von Save.

    Hinweis

    Sie müssen microsoftTeams.settings.setValidityState(true) als Antwort auf eine Aktualisierung der Benutzerauswahl oder des Felds aufrufen.

  3. Registrieren Sie microsoftTeams.settings.registerOnSaveHandler() den Ereignishandler, der aufgerufen wird, wenn der Benutzer "Speichern" auswählt.

  4. Aufruf microsoftTeams.settings.setSettings() zum Speichern der Connectoreinstellungen. Die gespeicherten Einstellungen werden auch im Konfigurationsdialogfeld angezeigt, wenn der Benutzer versucht, eine vorhandene Konfiguration für Ihren Connector zu aktualisieren.

  5. Aufrufen zum Abrufen von microsoftTeams.settings.getSettings() Webhook-Eigenschaften, einschließlich der URL.

    Hinweis

    Sie müssen bei microsoftTeams.settings.getSettings() der Neukonfiguration aufrufen, wann die Seite zum ersten Mal geladen wird.

  6. Registrieren Sie microsoftTeams.settings.registerOnRemoveHandler() den Ereignishandler, der aufgerufen wird, wenn der Benutzer den Connector entfernt.

Dieses Ereignis bietet Ihrem Dienst die Möglichkeit, alle Bereinigungsaktionen auszuführen.

Der folgende Code enthält ein HTML-Beispiel zum Erstellen einer Connectorkonfigurationsseite ohne den Kundendienst und Support:

<h2>Send notifications when tasks are:</h2>
<div class="col-md-8">
    <section id="configSection">
        <form id="configForm">
            <input type="radio" name="notificationType" value="Create" onclick="onClick()"> Created
            <br>
            <br>
            <input type="radio" name="notificationType" value="Update" onclick="onClick()"> Updated
        </form>
    </section>
</div>

<script src="https://statics.teams.microsoft.com/sdk/v1.5.2/js/MicrosoftTeams.min.js" crossorigin="anonymous"></script>
<script src="/Scripts/jquery-1.10.2.js"></script>

<script type="text/javascript">

        function onClick() {
            microsoftTeams.settings.setValidityState(true);
        }

        microsoftTeams.initialize();
        microsoftTeams.settings.registerOnSaveHandler(function (saveEvent) {
            var radios = document.getElementsByName('notificationType');

            var eventType = '';
            if (radios[0].checked) {
                eventType = radios[0].value;
            } else {
                eventType = radios[1].value;
            }

            microsoftTeams.settings.setSettings({
                 entityId: eventType,
                contentUrl: "https://YourSite/Connector/Setup",
                removeUrl:"https://YourSite/Connector/Setup",
                 configName: eventType
                });

            microsoftTeams.settings.getSettings(function (settings) {
                // We get the Webhook URL in settings.webhookUrl which needs to be saved. 
                // This can be used later to send notification.
            });

            saveEvent.notifySuccess();
        });

        microsoftTeams.settings.registerOnRemoveHandler(function (removeEvent) {
            alert("Removed" + JSON.stringify(removeEvent));
        });

</script>

Informationen zum Authentifizieren des Benutzers als Teil des Ladens ihrer Seite finden Sie im Authentifizierungsfluss für Registerkarten, um die Anmeldung zu integrieren, wenn Ihre Seite eingebettet ist.

Hinweis

Aus Gründen der clientübergreifenden Kompatibilität muss Ihr Code microsoftTeams.authentication.registerAuthenticationHandlers() vor dem Aufrufen mit der URL und den Rückrufmethoden für Erfolg oder Fehler authenticate() aufrufen.

GetSettings Antworteigenschaften

Hinweis

Die vom Aufruf zurückgegebenen Parameter getSettings unterscheiden sich, wenn Sie diese Methode über eine Registerkarte aufrufen, und unterscheiden sich von den parametern, die in den JS-Einstellungendokumentiert sind.

Die folgende Tabelle enthält die Parameter und die Details der GetSetting Antworteigenschaften:

Parameter Details
entityId Die Entitäts-ID, die vom Code beim Aufrufen festgelegt setSettings() wird.
configName Der Konfigurationsname, wie er vom Code beim Aufrufen festgelegt setSettings() wird.
contentUrl Die URL der Konfigurationsseite, die vom Code beim Aufrufen festgelegt setSettings() wird.
webhookUrl Die für den Connector erstellte Webhook-URL. Verwenden Sie die Webhook-URL, um strukturierten JSON-Code zu POSTEN, um Karten an den Kanal zu senden. Wird webhookUrl nur zurückgegeben, wenn die Anwendung Daten erfolgreich zurückgibt.
appType Die zurückgegebenen Werte können den mail groups Office 365 teams E-Mail-, Office 365- oder Microsoft Teams entsprechen.
userObjectId Die eindeutige ID, die dem Office 365 Benutzer entspricht, der die Einrichtung des Connectors initiiert hat. Sie muss gesichert werden. Dieser Wert kann verwendet werden, um den Benutzer in Office 365 zuzuordnen, der die Konfiguration in Ihrem Dienst eingerichtet hat.

Bearbeiten behandeln

Ihr Code muss Benutzer verarbeiten, die zurückkehren, um eine vorhandene Connectorkonfiguration zu bearbeiten. Rufen Sie dazu microsoftTeams.settings.setSettings() während der Anfänglichen Konfiguration die folgenden Parameter auf:

  • entityId ist die benutzerdefinierte ID, die darstellt, was der Benutzer von Ihrem Dienst konfiguriert und verstanden hat.
  • configName ist ein Name, den Konfigurationscode abrufen kann.
  • contentUrl ist eine benutzerdefinierte URL, die geladen wird, wenn ein Benutzer eine vorhandene Connectorkonfiguration bearbeitet.

Dieser Aufruf erfolgt als Teil des Speicherereignishandlers. Wenn der Code geladen wird, muss er dann contentUrl aufgerufen werden, um alle Einstellungen oder Formulare getSettings() in der Konfigurationsbenutzeroberfläche vorab auszufüllen.

Behandeln von Entfernungen

Sie können einen Ereignishandler ausführen, wenn der Benutzer eine vorhandene Connectorkonfiguration entfernt. Sie registrieren diesen Handler durch Aufrufen microsoftTeams.settings.registerOnRemoveHandler() von . Dieser Handler wird zum Ausführen von Bereinigungsvorgängen verwendet, z. B. zum Entfernen von Einträgen aus einer Datenbank.

Einschließen des Connectors in Das Manifest

Laden Sie das automatisch generierte Teams app manifest Aus dem Portal herunter. Führen Sie die folgenden Schritte aus, bevor Sie die App testen oder veröffentlichen:

  1. Zwei Symbole einschließen.
  2. Ändern Sie den icons Teil des Manifests so, dass er die Dateinamen der Symbole anstelle von URLs enthält.

Die folgende Datei manifest.json enthält die Elemente, die zum Testen und Übermitteln der App erforderlich sind:

Hinweis

Ersetzen Sie id im folgenden Beispiel die connectorId GUID des Connectors.

Beispiel für "manifest.json" mit Connector

{
  "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",
  "manifestVersion": "1.5",
  "id": "e9343a03-0a5e-4c1f-95a8-263a565505a5",
  "version": "1.0",
  "packageName": "com.sampleapp",
  "developer": {
    "name": "Publisher",
    "websiteUrl": "https://www.microsoft.com",
    "privacyUrl": "https://www.microsoft.com",
    "termsOfUseUrl": "https://www.microsoft.com"
  },
  "description": {
    "full": "This is a small sample app we made for you! This app has samples of all capabilities Microsoft Teams supports.",
    "short": "This is a small sample app we made for you!"
  },
  "icons": {
    "outline": "sampleapp-outline.png",
    "color": "sampleapp-color.png"
  },
  "connectors": [
    {
      "connectorId": "e9343a03-0a5e-4c1f-95a8-263a565505a5",
      "scopes": [
        "team"
      ]
    }
  ],
  "name": {
    "short": "Sample App",
    "full": "Sample App"
  },
  "accentColor": "#FFFFFF",
  "needsIdentity": "true"
}

Aktivieren oder Deaktivieren von Connectors in Teams

Das Exchange Online PowerShell V2-Modul verwendet moderne Authentifizierung und arbeitet mit mehrstufiger Authentifizierung, die als MFA bezeichnet wird, um eine Verbindung mit allen Exchange zugehörigen PowerShell-Umgebungen in Microsoft 365 herzustellen. Administratoren können Exchange Online PowerShell verwenden, um Connectors für einen ganzen Mandanten oder ein bestimmtes Gruppenpostfach zu deaktivieren, was sich auf alle Benutzer in diesem Mandanten oder Postfach auswirkt. Es ist nicht möglich, für einige und nicht für andere zu deaktivieren. Außerdem sind Connectors standardmäßig für Government Community Cloud deaktiviert, die als GCC Mandanten bezeichnet werden.

Die Einstellung auf Mandantenebene setzt die Einstellung auf Gruppenebene außer Kraft. Wenn ein Administrator beispielsweise Connectors für die Gruppe aktiviert und auf dem Mandanten deaktiviert, sind Connectors für die Gruppe deaktiviert. Um einen Connector in Teams zu aktivieren, stellen Sie mithilfe der modernen Authentifizierung mit oder ohne MFA eine Verbindung mit Exchange Online PowerShell her.

Befehle zum Aktivieren oder Deaktivieren von Connectors

Führen Sie die folgenden Befehle in Exchange Online PowerShell aus:

  • So deaktivieren Sie Connectors für den Mandanten: Set-OrganizationConfig -ConnectorsEnabled:$false .
  • So deaktivieren Sie Nachrichten mit Aktionen für den Mandanten: Set-OrganizationConfig -ConnectorsActionableMessagesEnabled:$false .
  • Führen Sie die folgenden Befehle aus, um Connectors für Teams zu aktivieren:
    • Set-OrganizationConfig -ConnectorsEnabled:$true
    • Set-OrganizationConfig -ConnectorsEnabledForTeams:$true
    • Set-OrganizationConfig -ConnectorsActionableMessagesEnabled:$true

Weitere Informationen zum Austausch von PowerShell-Modulen finden Sie unter "Set-OrganizationConfig". Um Outlook Connectors zu aktivieren oder zu deaktivieren, verbinden Sie Apps mit Ihren Gruppen in Outlook.

Testen des Connectors

Laden Sie den Connector mit einer anderen App in ein Team hoch, um den Connector zu testen. Sie können ein .zip Paket mithilfe der Manifestdatei aus den beiden Symboldateien und Connectors Erstellen Entwicklerdashboard, geändert wie in "Einschließen des Connectors in Ihr Manifest"angegeben.

Nachdem Sie die App hochgeladen haben, öffnen Sie die Liste der Connectors aus einem beliebigen Kanal. Scrollen Sie nach unten, um Ihre App im Abschnitt "Hochgeladen" anzuzeigen:

Screenshot eines hochgeladenen Abschnitts im Dialogfeld "Connector"

Hinweis

Der Fluss erfolgt vollständig innerhalb Microsoft Teams als gehostete Oberfläche.

Um zu überprüfen, ob die HttpPOST Aktion ordnungsgemäß funktioniert, senden Sie Nachrichten an den Connector.

Veröffentlichen von Connectors für die Organisation

Wenn der Connector nur für die Benutzer in Ihrer Organisation verfügbar sein soll, können Sie Ihre benutzerdefinierte Connector-App in den App-KatalogIhrer Organisation hochladen.

Nachdem Sie das App-Paket hochgeladen haben, um den Connector in einem Team zu konfigurieren und zu verwenden, installieren Sie den Connector aus dem App-Katalog der Organisation.

So richten Sie einen Connector ein

  1. Wählen Sie in der linken Navigationsleiste Apps aus.
  2. Wählen Sie im Abschnitt "Apps" Connectors aus.
  3. Wählen Sie den Connector aus, den Sie hinzufügen möchten. Ein Popup-Dialogfeld wird angezeigt.
  4. Wählen Sie im Dropdownmenü die Option "Zu einem Team hinzufügen" aus.
  5. Geben Sie im Suchfeld einen Team- oder Kanalnamen ein.
  6. Wählen Sie im Dropdownmenü in der unteren rechten Ecke des Dialogfelds die Option "Connector einrichten" aus.

Wichtig

Derzeit sind benutzerdefinierte Connectors in Government Community Cloud (GCC), GCC-High und Department of Defense (DOD) nicht verfügbar.

Der Connector ist im Abschnitt ●●● > Weitere Optionen Connectors > > alle Connectors für Ihr > Team für dieses Team verfügbar. Sie können navigieren, indem Sie zu diesem Abschnitt scrollen oder nach der Connector-App suchen. Um den Connector zu konfigurieren oder zu ändern, wählen Sie Konfigurieren aus.

Verteilen von Webhook und Connector

  1. Richten Sie einen eingehenden Webhook direkt für Ihr Team ein.
  2. Fügen Sie eine Konfigurationsseite hinzu, und veröffentlichen Sie Ihren eingehenden Webhook in einem O365-Connector.
  3. Verpacken und veröffentlichen Sie Ihren Connector als Teil Ihrer AppSource-Übermittlung.

Codebeispiel

Die folgende Tabelle enthält den Beispielnamen und dessen Beschreibung:

Beispielname Beschreibung .NET Node.js
Connectors Beispiel für Office 365 Connector, der Benachrichtigungen an Teams Kanal generiert. View View
Beispiel für generische Connectors Beispielcode für einen generischen Connector, der für jedes System, das Webhooks unterstützt, einfach angepasst werden kann. Anzeigen

Siehe auch