Créer des connecteurs Office 365

Avec Microsoft Teams applications, vous pouvez ajouter votre connecteur Office 365 existant ou en créer un nouveau dans Teams. Pour plus d’informations, voir créer votre propre connecteur.

Ajouter un connecteur à Teams application

Vous pouvez créer un package et publier votre connecteur dans le cadre de votre soumission AppSource. Vous pouvez distribuer votre connecteur inscrit dans le cadre de votre package Teams’application. Pour plus d’informations sur les points d’entrée Teams’application, voir fonctionnalités. Vous pouvez également fournir le package aux utilisateurs directement pour le chargement dans Teams.

Pour distribuer votre connecteur, vous devez vous inscrire via le Tableau de bord du développeur de connecteurs. Lorsqu’un connecteur est inscrit, il est supposé qu’il fonctionne dans tous les produits Office 365 qui prend en charge les applications, y compris Outlook et Teams. Si ce n’est pas le cas et que vous devez créer un connecteur qui fonctionne uniquement dans Microsoft Teams, contactez : Microsoft Teams de soumissions d’applications.

Important

Votre connecteur est enregistré après avoir sélectionné Enregistrer dans le tableau de bord du développeur de connecteurs. Si vous souhaitez publier votre connecteur dans AppSource, suivez les instructions de publication de votre application Microsoft Teams dans AppSource. Si vous ne souhaitez pas publier votre application dans AppSource, distribuez-la directement à l’organisation. Une fois les connecteurs publiés pour votre organisation,aucune action supplémentaire n’est requise sur le tableau de bord du connecteur.

Intégrer l’expérience de configuration

Les utilisateurs peuvent terminer toute l’expérience de configuration du connecteur sans avoir à quitter Teams client. Pour obtenir l’expérience, Teams pouvez incorporer votre page de configuration directement dans un iframe. La séquence d’opérations est la suivante :

  1. L’utilisateur sélectionne le connecteur pour commencer le processus de configuration.

  2. L’utilisateur interagit avec l’expérience web pour terminer la configuration.

  3. L’utilisateur sélectionne Enregistrer, ce qui déclenche un rappel dans le code.

    Notes

    • Le code peut traiter l’événement d’enregistrer en récupérant les paramètres de webhook. Votre code stocke le webhook pour publier des événements ultérieurement.
    • L’expérience de configuration est chargée en ligne dans Teams.

Vous pouvez réutiliser votre expérience de configuration web existante ou créer une version distincte à héberger spécifiquement dans Teams. Votre code doit inclure le Microsoft Teams SDK JavaScript. Cela permet à votre code d’accéder aux API pour effectuer des opérations courantes, telles que l’obtention du contexte de l’utilisateur, du canal ou de l’équipe actuel et lancer des flux d’authentification.

Pour intégrer l’expérience de configuration

  1. Initialisez le kit de développement logiciel (SDK) en appelant microsoftTeams.initialize().

  2. Appel microsoftTeams.settings.setValidityState(true) pour activer Enregistrer.

    Notes

    Vous devez appeler microsoftTeams.settings.setValidityState(true) en réponse à la sélection de l’utilisateur ou à la mise à jour du champ.

  3. Enregistrez microsoftTeams.settings.registerOnSaveHandler() le handler d’événements, qui est appelé lorsque l’utilisateur sélectionne Enregistrer.

  4. Appelez microsoftTeams.settings.setSettings() pour enregistrer les paramètres du connecteur. Les paramètres enregistrés sont également affichés dans la boîte de dialogue de configuration si l’utilisateur tente de mettre à jour une configuration existante pour votre connecteur.

  5. Appelez microsoftTeams.settings.getSettings() pour récupérer les propriétés du webhook, y compris l’URL.

    Notes

    Vous devez appeler lorsque votre page est chargée pour la première fois microsoftTeams.settings.getSettings() en cas de reconfiguration.

  6. Enregistrez microsoftTeams.settings.registerOnRemoveHandler() le handler d’événements, qui est appelé lorsque l’utilisateur supprime le connecteur.

Cet événement permet à votre service d’effectuer des actions de nettoyage.

Le code suivant fournit un exemple de code HTML pour créer une page de configuration de connecteur sans le support technique et le service clientèle :

<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>

Pour authentifier l’utilisateur dans le cadre du chargement de votre page, consultez flux d’authentification pour les onglets pour intégrer la signature lorsque votre page est incorporée.

Notes

Pour des raisons de compatibilité entre clients, votre code doit appeler avec l’URL et les méthodes de rappel de réussite ou microsoftTeams.authentication.registerAuthenticationHandlers() d’échec avant d’appeler. authenticate()

GetSettings propriétés de réponse

Notes

Les paramètres renvoyés par l’appel sont différents lorsque vous appelez cette méthode à partir d’un onglet et diffèrent de ceux getSettings documentés dans les paramètres js.

Le tableau suivant fournit les paramètres et les détails des propriétés GetSetting de réponse :

Paramètres Détails
entityId L’ID d’entité, tel que définie par votre code lors de setSettings() l’appel.
configName Nom de la configuration, tel que définie par votre code lors de setSettings() l’appel.
contentUrl URL de la page de configuration, définie par votre code lors de setSettings() l’appel.
webhookUrl URL de webhook créée pour le connecteur. Utilisez l’URL de webhook pour post JSON structuré pour envoyer des cartes au canal. Elle webhookUrl est renvoyée uniquement lorsque l’application renvoie des données avec succès.
appType Les valeurs renvoyées peuvent être mail groups respectivement Office 365 teams mail, Office 365 ou Microsoft Teams.
userObjectId ID unique correspondant à l’Office 365 qui a initié la mise en place du connecteur. Il doit être sécurisé. Cette valeur peut être utilisée pour associer l’utilisateur Office 365, qui a installé la configuration dans votre service.

Gérer les modifications

Votre code doit gérer les utilisateurs qui reviennent pour modifier une configuration de connecteur existante. Pour ce faire, appelez microsoftTeams.settings.setSettings() pendant la configuration initiale avec les paramètres suivants :

  • entityId est l’ID personnalisé qui représente ce que l’utilisateur a configuré et compris par votre service.
  • configName est un nom que le code de configuration peut récupérer.
  • contentUrl est une URL personnalisée qui est chargée lorsqu’un utilisateur modifie une configuration de connecteur existante.

Cet appel est effectué dans le cadre de votre économiseur d’événements. Ensuite, lorsque le code est chargé, votre code doit appeler pour pré-remplir les paramètres ou contentUrl getSettings() formulaires dans votre interface utilisateur de configuration.

Gérer les suppressions

Vous pouvez exécuter un programme de gestion d’événements lorsque l’utilisateur supprime une configuration de connecteur existante. Vous inscrivez ce handler en appelant microsoftTeams.settings.registerOnRemoveHandler() . Ce handler est utilisé pour effectuer des opérations de nettoyage, telles que la suppression d’entrées d’une base de données.

Inclure le connecteur dans votre manifeste

Téléchargez la version automatique générée Teams app manifest à partir du portail. Avant de tester ou de publier l’application, effectuez les étapes suivantes :

  1. Incluez deux icônes.
  2. Modifiez la partie du manifeste pour inclure les noms de fichier des icônes au lieu icons des URL.

Le fichier manifest.json suivant contient les éléments nécessaires pour tester et soumettre l’application :

Notes

Remplacez id connectorId et dans l’exemple suivant par le GUID du connecteur.

Exemple de manifest.json avec connecteur

{
  "$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"
}

Activer ou désactiver des connecteurs dans Teams

Le module Exchange Online PowerShell V2 utilise l’authentification moderne et fonctionne avec l’authentification multifacteur, appelée authentification multifacteur, pour la connexion à tous les environnements PowerShell Exchange dans Microsoft 365. Les administrateurs peuvent utiliser Exchange Online PowerShell pour désactiver les connecteurs pour un client entier ou une boîte aux lettres de groupe spécifique, affectant tous les utilisateurs de ce client ou de cette boîte aux lettres. Il n’est pas possible de désactiver pour certains et non pour d’autres. En outre, les connecteurs sont désactivés par défaut pour Cloud de la communauté du secteur public, appelés Cloud de la communauté du secteur public client.

Le paramètre au niveau du client remplace le paramètre au niveau du groupe. Par exemple, si un administrateur active les connecteurs pour le groupe et les désactive sur le client, les connecteurs pour le groupe sont désactivés. Pour activer un connecteur dans Teams, connectez-vous à Exchange Online PowerShell à l’aide de l’authentification moderne avec ou sans authentification multifacteur.

Commandes pour activer ou désactiver des connecteurs

Dans Exchange Online PowerShell, exécutez les commandes suivantes :

  • Pour désactiver les connecteurs pour le client : Set-OrganizationConfig -ConnectorsEnabled:$false .
  • Pour désactiver les messages actionnables pour le client : Set-OrganizationConfig -ConnectorsActionableMessagesEnabled:$false .
  • Pour activer les connecteurs pour Teams, exécutez les commandes suivantes :
    • Set-OrganizationConfig -ConnectorsEnabled:$true
    • Set-OrganizationConfig -ConnectorsEnabledForTeams:$true
    • Set-OrganizationConfig -ConnectorsActionableMessagesEnabled:$true

Pour plus d’informations sur l’échange de module PowerShell, voir Set-OrganizationConfig. Pour activer ou désactiver les connecteurs Outlook, connectezdes applications à vos groupes dans Outlook .

Tester votre connecteur

Pour tester votre connecteur, téléchargez-le vers une équipe avec n’importe quelle autre application. Vous pouvez créer un package .zip à l’aide du fichier manifeste à partir des deux fichiers d’icône et connecteurs du Tableau de bord du développeur, modifié comme indiqué dans Inclure le connecteur dans votre manifeste.

Après avoir téléchargé l’application, ouvrez la liste des connecteurs à partir de n’importe quel canal. Faites défiler vers le bas pour voir votre application dans la section Téléchargée :

Capture d’écran d’une section téléchargée dans la boîte de dialogue connecteur

Notes

Le flux se produit entièrement au sein Microsoft Teams en tant qu’expérience hébergée.

Pour vérifier que HttpPOST l’action fonctionne correctement, envoyez des messages à votre connecteur.

Publier des connecteurs pour l’organisation

Si vous souhaitez que le connecteur soit disponible uniquement pour les utilisateurs de votre organisation, vous pouvez télécharger votre application de connecteur personnalisée dans le catalogue d’applications de votre organisation.

Après avoir téléchargé le package d’application pour configurer et utiliser le connecteur dans une équipe, installez le connecteur à partir du catalogue d’applications de l’organisation.

Pour configurer un connecteur

  1. Sélectionnez Applications dans la barre de navigation de gauche.
  2. Dans la section Applications, sélectionnez Connecteurs.
  3. Sélectionnez le connecteur que vous souhaitez ajouter. Une fenêtre de boîte de dialogue s’affiche.
  4. Dans le menu déroulant, sélectionnez Ajouter à une équipe.
  5. Dans la zone de recherche, tapez un nom d’équipe ou de canal.
  6. Sélectionnez Configurer un connecteur dans le menu déroulant dans le coin inférieur droit de la fenêtre de dialogue.

Important

Actuellement, les connecteurs personnalisés ne sont pas disponibles dans Cloud de la communauté du secteur public (Cloud de la communauté du secteur public), Cloud de la communauté du secteur public-High et le Département de la Défense (DOD).

Le connecteur est disponible dans la section ●●● > Plus d’options Connecteurs Tous les connecteurs pour > > > votre équipe pour cette équipe. Vous pouvez naviguer en accédant à cette section ou rechercher l’application connecteur. Pour configurer ou modifier le connecteur, sélectionnez Configurer.

Distribuer un webhook et un connecteur

  1. Configurer un webhook entrant directement pour votre équipe.
  2. Ajoutez une page de configuration et publiez votre webhook entrant dans un connecteur O365.
  3. Packagez et publiez votre connecteur dans le cadre de votre soumission AppSource.

Exemple de code

Le tableau suivant fournit le nom de l’exemple et sa description :

Exemple de nom Description .NET Node.js
Connecteurs Exemple Office 365 connecteur générant des notifications vers Teams canal. View View
Exemple de connecteurs génériques Exemple de code pour un connecteur générique facile à personnaliser pour tout système qui prend en charge les webhooks. View

Voir aussi