Пакетный запрос в office365 php выдает Bad Request - PullRequest
0 голосов
/ 26 сентября 2018

Я использую Office365 для синхронизации электронной почты в PHP.API-интерфейс REST Office 365 поддерживает пакетные запросы.Я пытался использовать это для получения электронной почты с помощью API-интерфейса REST Office 365, но до сих пор получаю «BadRequest».Ответить.Любая помощь будет оценена.Вот пример кода

$url = 'https://graph.microsoft.com/v1.0/$batch';

$headers = array(
    "Authorization: Bearer ".$accessToken,
    "Content-Type: application/json"
);

$msgid1 = "AQMkADAwATNiZmYAZC1kMjFjLWUyMTUtMDACLTAPwAAAHzY91EAAAA=";
$msgid2 = "AQMkADAwATNiZmYAZC1kMjFjLWUyMTUtDACLTvpPwAAAHzY91AAAAA=";
$msgid3 = "AQMkADAwATNiZmYAZC1kMjFjLWUyMTRRRBGUtMDACLAAHzY908AAAA=";

$params = array(
    'requests' => array(
        array( 
            "id" => "1",
            "method" => "GET",
            "url" => "/me/messages/$msgid1/attachments"
        ),
        array(
            "id" => "2",
            "method" => "GET",
            "url" => "/me/messages/$msgid2/attachments"
        ),
        array(
            "id" => "3",
            "method" => "GET",
            "url" => "/me/messages/$msgid3/attachments"
        )
    )
);

$curl = curl_init($url);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($curl);

В ответ я получаю Недопустимый формат полезной нагрузки пакета сообщение.

1 Ответ

0 голосов
/ 26 сентября 2018

Оу .. В моем коде есть ошибка.

Do

curl_setopt ($ curl, CURLOPT_POSTFIELDS, json_encode ($ params));

вставлено из curl_setopt ($ curl, CURLOPT_POSTFIELDS, $ data);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...