Twilio - 获取传入短信的内容
Twillio - get contents of incoming SMS
我正在关注 Twillio's guide on responding to incoming SMS。
一切正常。我正在获取 webhook 并将回复发送到经过验证的号码(我正在使用试用帐户)。
我遇到的问题是获取传入消息的内容。我试图通过 $_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 指出了答案。文档提到 $_REQUEST['Body']
包含传入消息的内容。
所以它既不在 $_POST
中也不在 php://input
中。它位于 $_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"
我正在关注 Twillio's guide on responding to incoming SMS。
一切正常。我正在获取 webhook 并将回复发送到经过验证的号码(我正在使用试用帐户)。
我遇到的问题是获取传入消息的内容。我试图通过 $_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;
?>
我遵循了这个
我在这里错过了什么?
非常感谢@ceejayoz 指出了答案。文档提到 $_REQUEST['Body']
包含传入消息的内容。
所以它既不在 $_POST
中也不在 php://input
中。它位于 $_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"