javascript
Communiquez avec vos Groupes Office 365 grâce aux WebHooks
Citation Publié le Mis à jour le
Bonjour,
Microsoft a annoncé lors d’ Ignite 2016 la montée en puissance de la fonctionnalité Groupes dans Office 365.
Les WebHooks sont des appels HTTP POST pour prévenir de l’apparition d’un événement quelque part.
C’est d’ailleurs la technologie mère qui soutient tous les connecteurs des Groupes Office 365, lisez les lignes suivantes, vous allez comprendre pourquoi.

Quel est l’intérêt ?
L’intérêt et de pouvoir ouvrir la plateforme et la faire dialoguer avec vos applicatifs externes ou même la plateforme Office 365. Ne soyez pas trop verbeux, au risque de polluer les utilisateurs. Les cas d’usages peuvent être les suivants :
- une erreur de gravité importante
- un mail office 365 de priorité urgente envoyé par un client spécifique
Voici ce que vous obtiendrez dans l’onglet « Conversations » une fois les webhooks paramétrés :

Démarrez un WebHook lié à un Groupe Office 365.
Ceci se fait grâce à un connecteur, qui est accessible via l’onglet « Connecteurs » de votre Groupe :
Il vous faut ensuite ajouter un WebHook entrant, en donnant « un nom » et éventuellement en choisissant un logo :
Après ceci vous devez copier l’URL du WebHook généré, qui est unique pour votre Groupe Office 365 :
l’URL est du type : https://outlook.office365.com/webhook/aaa-aaa/IncomingWebhook/aaa/aaa
Ne communiquez pas cette url elle est unique et le WebHook n’est pas authentifié. Au pire vous pouvez toujours le supprimer ou en recréer une autre. Vous pouvez créer plusieurs WebHook dans un Groupe, si vous avez à gérer plusieurs sources.
Testez le webhook
Vous pouvez utiliser hurl.it ou un outil en ligne de commande, curl (téléchargeable ici, croyez moi ne perdez pas de temps à le chercher ailleurs sur le net 😉
L’équipe dev outlook nous propose un excellent tutoriel pour utiliser curl via https://dev.outlook.com/Connectors/GetStarted je n’ai rien a y ajouter.
pour mémoire, la ligne de commande est :
SET WEBHOOKURL="https://outlook.office365.com/webhook/aaa-aaa/IncomingWebhook/aaa/aaa" curl -H "Content-Type: application/json" -d "{\"text\": \"Hello World!\"}" %WEBHOOKURL%
Voici la correspondance complète des champs JSON avec l’affichage des WebHooks dans la conversation des groupes :
{ "title": "Hello from curl", "text": "Visitez le [Portail Dev Outlook](https://dev.outlook.com) pour en apprendre plus sur les Connecteurs Office 365!", "themeColor": "EA4300", "potentialAction": [{"@context": "https://schema.org", "@type": "ViewAction", "name": "Open Outlook Dev Center", "target": ["https://dev.outlook.com"]} ] }
Lancez vous !
Les possibilités sont infinis, voici la liste de quelques liaisons envisageables et les outils …
via zapier.com (quel bel outil !)
Voici comment configurer l' »Action » dans zapier pour paramétrer « Webhooks by Zapier »
via flow.microsoft.com
Voici la configuration qu’il faut appliquer dans flow à votre activité « HTTP » :
via ifttt.com
Il faut ajouter le channel « Maker » dans votre « Recipie », et configurer les champs comme suit :
via du code
Voici différentes manières de faire un appel à un WebHook avec du code, pour l’intégrer dans votre application préférée :
Technologie | Code |
PHP |
<!--?php class OfficeSender { private $_url; private $_jsonData; public function __construct($url, $data) { $this->_url = $url; $this->_jsonData = $data; }
|
Node.js SharePoint | www.eliostruyf.com |
Powershell | Set-StrictMode -Version Latest
|
Un grand merci à Toufik pour avoir testé et réalisé les scripts en PHP et NodeJS !
Sources :
webhook dans sharepoint
https://www.eliostruyf.com/sample-node-js-sharepoint-webhook-application-released/
https://dev.outlook.com/Connectors/GetStarted
Pour aller plus loin :
Ajouter des ancres nommées dans Sharepoint 2010
Bonjour,
Il est parfois utile de rediriger l’utilisateur vers l’intérieur d’une page en non pas en haut de celle ci (de façon classique). Pour ceci vous pouvez utiliser le principe d’ancres nommées.
Pour faire un lien vers votre page, écrivez via une CEWP (par exemple) le code html suivant dans votre page de départ :
1: <a href="/pages/mapage.aspx#MILIEU"> Allez au milieu de la page suivante en cliquant ici</a>
Dans votre page “/pages/mapage.aspx”, positionnez votre ancre au bon endroit :
1: <html>
2: <body>
3:
4: <p>lorem ipsum ...</p>
5: <a name="MILIEU"></a>Ancre au milieu de la page
6: </body>
7: </html>
Vous l’avez peut être remarqué, mais lorsque vous ajoutez un lien vers une ancre nommée dans une page Sharepoint, celle ci est redirigée vers le haut après avoir été positionnée au niveau de l’ancre (l’effet est d’ailleurs très surprenant).
Pour palier à ceci il faut ajouter le code suivant dans la page contenant les ancres (il s’agit de jquery).
1: <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
2: <script language="javascript">
3: $(function() {
4: var fn = FixRibbonAndWorkspaceDimensions;
5: FixRibbonAndWorkspaceDimensions = function() {
6: var firstCall = !g_setWidthInited;
7: fn();
8: if (firstCall)
9: window.location.hash = self.document.location.hash.substring(1);
10: }
11: });
12: </script>
Vous devez être connecté pour poster un commentaire.