Php Twillio-获取传入短信的内容

Php Twillio-获取传入短信的内容,php,sms,twilio,webhooks,Php,Sms,Twilio,Webhooks,我跟在后面 一切正常。我得到了webhook,回复被发送到一个经过验证的号码(我使用的是试用帐户) 我遇到的问题是获取传入消息的内容。我试图通过$\u POST和php://input但两者都是空的。我想获取内容以便发送到我们的信息邮箱 这是我的replyToSMS.php: <?php require __DIR__ . '/twilio-php-master/src/Twilio/autoload.php'; use Twilio\TwiML\MessagingResponse; $

我跟在后面

一切正常。我得到了webhook,回复被发送到一个经过验证的号码(我使用的是试用帐户)

我遇到的问题是获取传入消息的内容。我试图通过
$\u POST
php://input
但两者都是空的。我想获取内容以便发送到我们的信息邮箱

这是我的replyToSMS.php:

<?php
require __DIR__ . '/twilio-php-master/src/Twilio/autoload.php';
use Twilio\TwiML\MessagingResponse;

$rest_json = file_get_contents("php://input");
$sms = json_decode($rest_json, true);


$fh = fopen("log_post.txt","w");
foreach($sms as &$item) {
    fwrite($fh, $item) or die("died");
}
fclose($fh);

$response = new MessagingResponse();
$response->message("The Robots are coming! Head for the hills!");
print $response;

?>

我遵循了这一点和Twillio传教士的建议,但我找不到一种方法让内容在php代码级别而不是XML级别可见


我在这里遗漏了什么?

非常感谢@ceejayoz指出了答案。文档提到,
$\u请求['Body']
包含传入消息的内容

所以它既不在
$\u POST
中,也不在
php://input
。它位于
$\u REQUEST
中,该对象包含Twillio webhook向服务器端点发送API请求时发送的所有数据

这些是请求对象包含的字段:

ApiVersion: "2010-04-01"
SmsSid: "**********************************************"
SmsStatus: "received"
SmsMessageSid: "*******************************************"
NumSegments: "1"
From:"+1*************"
ToState: "NY"
MessageSid"***************************************"
AccountSid: "*********************************"
ToZip: ""
FromCountry: "US"
ToCity: ""
FromCity: ""
To: "+1**********"
FromZip: ""
Body: "Test"
ToCountry: "US"
FromState: ""
NumMedia: "0"

这些文档将传入消息显示为在
$\u请求['Body']
中。幸运吗?@ceejayoz谢谢你指出这一点。不知道我怎么会错过它。终于设法得到了收到的短信的内容并记录下来。很高兴这有帮助。它出现在
$\u REQUEST
中而不是
$\u POST
中的可能原因是,您在Twilio控制台中设置了端点,以接收GET请求而不是POST请求。您可能想对此进行调整。webhook配置为发送post请求。这就是我在实时ngrok日志和Twillio调试器中看到的。所以我马上就认为它会被贴上。但现在一切都好了,谢谢大家@ceejayoz。