Microsoft Teams + PHP cURL - отправка сообщения на указанный c канал - PullRequest
0 голосов
/ 14 апреля 2020

У меня проблема с отправкой сообщения в Microsoft Teams. Я следовал Документам Microsoft - https://docs.microsoft.com/en-us/graph/api/channel-post-messages?view=graph-rest-beta&tabs=http и что-то не работает.

Я написал следующий код:

$aToken = getAccessToken();

$dataArray = [
    "body" => [
        "content" => 'Hello World!'
    ]
];
$dataJSON = json_encode($dataArray, true);

$CURLHeaders = [
    'Content-Type: application/json',
    'Content-Length: ' . strlen($dataJSON),
    'Authorization: ' . $aToken,
];


$ch = curl_init($postURL);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_KEEP_SENDING_ON_ERROR, true);
curl_setopt($ch, CURLOPT_HTTPGET, false);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $dataJSON);
curl_setopt($ch, CURLOPT_HTTPHEADER, $CURLHeaders);
$result = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

и мой $ CURLHeader:

(
    [0] => Content-Type: application/json
    [1] => Content-Length: 35
    [2] => Authorization: Bearer eyJ0eXAiO...
)

и $ data JSON: {"body":{"content":"Hello World!"}}

После отправки я получаю сообщение:

{
  "error": {
    "code": "UnknownError",
    "message": "",
    "innerError": {
      "request-id": "88094f5d-1bcb-4875-9d49-880db19a146b",
      "date": "2020-04-14T16:00:28"
    }
  }
}

Что-то не так, но я не знаю что ...

...