Я установил Webhook, чтобы получать уведомления, отправленные на страницу PHP на моем сервере. Запрос на уведомление на мой сервер, как это:PHP Получить данные JSON POST
POST /message/receive HTTP/1.1
Host: http://www.yoururl.com/zipwhip/api/receive
Content-Length: 581
Content-Type: application/json; charset=UTF-8
{ "body":"Thanks for texting, this is an auto reply!",
"bodySize":42,
"visible":true,
"hasAttachment":false,
"dateRead":null,
"bcc":null,
"finalDestination":"4257772300",
"messageType":"MO",
"deleted":false,
"statusCode":4,
"id":634151298329219072, "scheduledDate":null, "fingerprint":"132131532", "messageTransport":9, "contactId":3382213402, "address":"ptn:/4257772222",
"read" "dateCreated":"2015-08-19T16:53:45-07:00", "dateDeleted":null,
"dateDelivered":null,
"cc":null,
"finalSource":"4257772222",
} "dev
Я попытался с помощью следующих действий, чтобы преобразовать данные в формате JSON в строку, я могу работать с, но я не получаю ничего до сих пор:
$inputJSON = file_get_contents('php://input');
$input= json_decode($inputJSON, TRUE);
Все, что я читал, указывает на это должно работать - я проверил следующее, и это на самом деле работает:
$webhookContent = "";
$webhook = fopen('php://input' , 'rb');
while (!feof($webhook)) {
$webhookContent .= fread($webhook, 4096);
}
fclose($webhook);
Я пытаюсь понять, почему file_get_contents («PHP: // ввод»); не работает, когда все, что я прочитал, указывает, что это функция, которую я должен использовать, и почему fopen ('php: // input', 'rb'); работает вместо этого?
Если я var_dump ($ inputJSON) я получаю:
$inputJSON = file_get_contents('php://input');
$input= json_decode($inputJSON);
Я думаю:
string(527) "{ "body":"Thanks for texting, this is an auto reply!",
"bodySize":42,
"visible":true,
"hasAttachment":false,
"dateRead":null,
"bcc":null,
"finalDestination":"4257772300",
"messageType":"MO",
"deleted":false,
"statusCode":4,
"id":634151298329219072, "scheduledDate":null, "fingerprint":"132131532", "messageTransport":9, "contactId":3382213402, "address":"ptn:/4257772222",
"read" "dateCreated":"2015-08-19T16:53:45-07:00", "dateDeleted":null,
"dateDelivered":null,
"cc":null,
"finalSource":"4257772222",
}"
var_dump ($ ввода) возвращает NULL
Так что же не работает, что делает 'var_dump ($ inputJSON)' вам? – jeroen
Ваш JSON не подходит для меня. – simon
@jeroen Я отредактировал вопрос, чтобы включить результат var_dump ($ inputJSON) – user982124