+ Antworten
Ergebnis 1 bis 2 von 2
  1. #1
    Registriert seit
    Feb 2008
    Ort
    127.0.0.1
    Beiträge
    561

    Standard Verbindung IPS mit MS Teams

    Aufgrund der aktuellen Situation, hänge auch ich im Homeoffice.
    Für die Zusammenarbeit der Kollegen, nutzen wir u.a.Teams von Microsoft.
    Hier ist es möglich einen eingehenden Webhook zu konfigurieren und kann damit aus IPS Nachrichten senden.

    1. Webhook in Teams anlegen.
    Im Kanal oben rechts auf die drei Punkte und "Connectors" wählen.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ips3.PNG 
Hits:	123 
Größe:	20.0 KB 
ID:	53120

    "Incomming Webhook" konfigurieren

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ips2.PNG 
Hits:	120 
Größe:	45.2 KB 
ID:	53121

    Namen festlegen, Icon konfigurieren und die webhook Adresse kopieren. Done
    Jetzt kann man im JSON Format Nachrichten, mittels cURL an den Kanal senden.
    In IPS ein Script anlegen und die kopierte Adresse unter $url eintragen.
    PHP-Code:
    <?php
    $url 
    "https://outlook.office.com/webhook/40ded607-f14b-44d6-9236-4db84ef78f24@771c9c47-7f24-44dc-958e-34f8713a8394/IncomingWebhook/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/c73740f2-527f-4c13-9c81-2d61c3ea88b8";
    $debug false;

    $json '{"text": "Hello World"}';
    $return ATN_SendTeams($json,$url);
    if (
    $debug) echo $return;

    function 
    ATN_SendTeams($payload,$url)
    {
        
    $handle curl_init();
        
    curl_setopt_array($handle,
            array(
                
    CURLOPT_URL             => $url,
                
    // Enable the post response.
                
    CURLOPT_POST            => true,
                
    // The data to transfer with the response.
                
    CURLOPT_HEADER          => "Content-Type: application/json",
                
    CURLOPT_POSTFIELDS      => $payload,
                
    CURLOPT_RETURNTRANSFER  => true,
                )
            );
        
    $data curl_exec($handle);
        
    curl_close($handle);
        return 
    $data;
    }
    und schon kann man alles Mögliche senden
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ips4.PNG 
Hits:	120 
Größe:	8.7 KB 
ID:	53122
    Viel Spass damit
    Attain

    PS: Nützliche Links
    https://docs.microsoft.com/de-de/mic...nnectors-using
    https://docs.microsoft.com/de-de/out...card-reference
    Geändert von Attain (29.03.20 um 11:39 Uhr) Grund: typo
    There is never time to do it right, but always time to do it twice.

  2. #2
    Registriert seit
    May 2018
    Ort
    Düsseldorf
    Beiträge
    60

    Standard Erweiterung um Bilder

    Hallo Attain,

    vielen Dank für die Vorlage.
    Ich wollte hier nur kurz meine Erweiterung um ein oder mehrere Bilder teilen.

    PHP-Code:
    <?php

    $url 
    "https://outlook.office.com/webhook/40ded607-f14b-44d6-9236-4db84ef78f24@771c9c47-7f24-44dc-958e-34f8713a8394/IncomingWebhook/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/c73740f2-527f-4c13-9c81-2d61c3ea88b8";
    $debug false;

    $Title "Test";
    $ThemeColor "ff0000";
    $Text "Das ist nur ein Test <br> hallo ";

    $Bilder "https://BildUrl_1.jpg,https://BildUrl_2.jpg";

    // Wenn mehrere Bilder dann in Array uebergeben
    $ArrayBilder explode(","$Bilder);

    // Json anfang
    $json '{';
       
    // Werte übergeben 
    $json .= '"title":"'.$Title.'",';
    $json .= '"themeColor":"'.$ThemeColor.'",';
    $json .= '"text":"'.$Text.'"';

    // Wenn Bild hinterlegt schleife durchgehen und bild einfügen          
    if(!empty($Bilder)) {       
        
    $pics "";
        for(
    $i=0;$i<count($ArrayBilder);$i++) {
            
    $pics .= '{"image":"'.$ArrayBilder[$i].'"},';
        }
            
        
    $json .= ',
            "sections":[
                  {
                     "images":['
    .$pics.']
                  }
               ]'
    ;
    }

    // Json ende    
    $json .= '}';    

    $return ATN_SendTeams($json,$url);
    if (
    $debug) echo $return;

    function 
    ATN_SendTeams($payload,$url)
    {
        
    $handle curl_init();
        
    curl_setopt_array($handle,
            array(
                
    CURLOPT_URL             => $url,
                
    // Enable the post response.
                
    CURLOPT_POST            => true,
                
    // The data to transfer with the response.
                
    CURLOPT_HEADER          => "Content-Type: application/json",
                
    CURLOPT_POSTFIELDS      => $payload,
                
    CURLOPT_RETURNTRANSFER  => true,
                )
            );
        
    $data curl_exec($handle);
        
    curl_close($handle);
        return 
    $data;
    }
    Geändert von Housemann (02.05.20 um 18:27 Uhr)

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 05.01.15, 22:01
  2. Telnet-Verbindung mit IPS
    Von honk0504 im Forum Haustechnik
    Antworten: 27
    Letzter Beitrag: 13.03.12, 11:05