MS Office — Как ответить на сообщение, используя office365 с переполнением стека

Я использую приложение Office365 и на него ссылаются из https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#Createandsendmessages а также https://dev.outlook.com/RestGettingStarted/Tutorial/php создать функцию:

function reply_to(){
$comment =array("Comment"=> $_POST['comment']);

$url="https://outlook.office365.com/api/v1.0/me/messages/'".$_POST['messeg_id']."'/reply";

$data=OutlookService::makeApiCall($_SESSION['access_token'],'POST',$url,$comment);
print_r($data);
}

и всегда получаю одну и ту же ошибку

Массив ([errorNumber] => 400 [error] => Запрос вернул ошибку HTTP 400).

Я не знаю, что я делаю неправильно, я проверял несколько раз.

0

Решение

Пара проблем:

  1. Удалить одинарные кавычки ' вокруг вашего сообщения ID в URL.
  2. JSON кодировать $comment массив перед передачей makeApiCall вот так: $comment = json_encode(array("Comment"=> $_POST['comment']));

Если вы не кодируете JSON, то cURL отправляет данные в кодированной форме, а не в виде объекта JSON в теле. Сервер отклоняет его с 400, потому что это недопустимый JSON.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]