почтальон — Создание запроса POST с переполнением стека

Я пытаюсь отправить сообщение через чат Broadcasting API, Я попробовал это на почте человека, и это работает. Но использование PHP не работает и дает мне false результат.

Мой пост человек запрос:

Скриншот

Почтальон Заголовки:

Почтальон Заголовки

И я получаю сообщение успешно:

{
"result": "ok",
"success": true
}

Я пытаюсь достичь этого с помощью кода. Итак, я попробовал:

    // Create map with request parameters
$params = array ('chatfuel_token' => 'protected', 'chatfuel_block_name' => 'protected');

// Build Http query using params
$query = http_build_query ($params);
$user_id = "userid";

// Create Http context details
$contextData = array (
'method' => 'POST',

'header' => "Connection: keep-alive \r\n".
"Content-Length: 30 \r\n",
'Content-Type' => 'application/json',
'content'=> $query );

// Create context resource for our request
$context = stream_context_create (array ( 'http' => $contextData ));

// Read page rendered as result of your POST request
$result =  file_get_contents (
'https://api.chatfuel.com/bots/protected/users/'. $user_id .'/send',  // page url
false,
$context);

Но я получаю:

{
"result": "0",
"success": false
}

0

Решение

Следующий фрагмент PHP соответствует тому, что вы сделали на Postman.

<?php

$request = new HttpRequest();
$request->setUrl('https://api.test.com');
$request->setMethod(HTTP_METH_POST);

$request->setQueryData(array(
'chatfuel_token' => 'tokenid',
'chatfueld_block_name' => 'blok1'
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}

Просто замените URL и идентификатор токена.

Это может быть сгенерировано через Почтальон.

Как только вы это заработаете, вы можете соответствующим образом настроить длину контента.

0

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

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