Ошибка 400 для HipChat PHP Curl Call

Я пытаюсь создать скручиваемое уведомление для комнаты с хипчатом, генерируемый им токен уведомления предназначен именно для этой комнаты.

curl -d '{"color":"green","message":"My first notification
(yey)","notify":false,"message_format":"text"}' -H 'Content-Type:
application/json' <My URL and TOKEN GO HERE>

Мой код:

<?php

$payload = array("message"=>"testing");
print_r($payload);
$json = json_encode($payload,true);
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL,     "my url with token"curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $json);
$ch = curl_exec ($curl);
curl_close ($curl);

print_r($ch);

?>

Я получаю это в результате:

Array
(
[message] => testing
)
{
"error": {
"code": 400,
"field": "message",
"message": "Required field 'message' is missing",
"type": "Bad Request",
"validation": "optional",
"value": null
}

Я старался https://github.com/hipchat/hipchat-php а также https://github.com/rcrowe/Hippy но они требуют токен API администратора.

Спасибо,
НЦЖ

1

Решение

Вам необходимо отправить Content-Type заголовок с вашим запросом curl точно так же, как вы это делали в командной строке, иначе сервер не будет знать, как анализировать ваши данные.

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
1

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

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

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