REST API Microsoft Teams Bot - Nachricht in Gruppenchat senden

Heiko 1 Zuverlässigkeitspunkt
2024-06-07T08:02:26.9733333+00:00

Ich habe einen Azure-Bot für meine Organisation erstellt, welcher auch grundsätzlich problemlos funktioniert. Ich möchte von einer externen PHP App Nachrichten an den Bot senden können, welcher diese an einen Gruppenchat ausgibt. Leider bekomme ich es partout nicht hin.

Hier ein Codeschnipsel:

$url = "{$this->botServiceUrl}/v3/conversations/{$this->chatId}/activities";

        // Debugging: URL ausgeben
        echo "URL: " . $url . "\n";

        $data = array(
            'type' => 'message',
            'text' => $messageContent
        );

        $options = array(
            'http' => array(
                'header'  => "Authorization: Bearer $accessToken\r\n" .
                             "Content-type: application/json\r\n",
                'method'  => 'POST',
                'content' => json_encode($data),
                'ignore_errors' => true // To capture the response in case of error
            )
        );

Der Auth-Token sieht gut aus. Meine Ausgabe ist aber folgende:

URL: https://smba.trafficmanager.net/emea/v3/conversations/19:c0e85885adfb4996aa6ec1a785010e6b@thread.v2/activities HTTP response headers: HTTP/1.1 401 Unauthorized Keep-Alive: true Content-Length: 61 Content-Type: application/json; charset=utf-8 Server: Microsoft-HTTPAPI/2.0 MS-CV: VWPVTjV2B0+EmgoDiiux+w.0 Date: Fri, 07 Jun 2024 07:55:01 GMT Connection: close Response: {"message":"Authorization has been denied for this request."} Array ( [message] => Authorization has been denied for this request. )

API Berechtigungen sind auch alle gesetzt ... was mache ich falsch?

Microsoft Teams
Microsoft Teams
Ein anpassbarer, chatbasierter Arbeitsbereich von Microsoft.
25 Fragen
0 Kommentare Keine Kommentare
{count} Stimmen

1 Antwort

Sortieren nach: Am hilfreichsten
  1. Ivan Dragov (CONCENTRIX Corporation) 2.095 Zuverlässigkeitspunkte Microsoft-Anbieter
    2024-06-08T09:32:12.48+00:00

    Hallo Heiko,

    Wenn Du die Fehlermeldung "Authorization denied for this request" erhältst, solltest Du sicherstellen, dass Du ein gültiges Format für den Authentifizierungsablauf client_credentials angibst. Der folgende Link bietet weitere Informationen:

    Azure access token generation from Postman

    Gruß,

    Ivan Dragov