Twilio 接收短信时不执行任何操作
Twilio Not doing anything when receiving SMS
我正在创建一个示例应用程序,它将 post 在发生飓风或服务中断时向网站发出警报。我没有使用 Laravel.
我在我的帐户设置中设置了页面的URL。第一次发送消息时,我收到了一个 HTTP 错误,提示它已超时但没有得到响应。我编辑了 XML 并再次尝试。
我在数据库中没有得到任何东西,也没有得到响应。我还编写了一个示例页面,其中 post 是一个值,以查看它是否有效并且确实有效。它 post 将其输入数据库并显示格式正确 XML。
<?php
$response = 'This number cannot handle automated replies...';
$twiml1 = '<response><sms>';
$twiml2 = '</sms></response>';
require_once '../settings/db.php';
if (isset($_POST['body'])) {
$body = strip_tags($_POST['body']);
$sql = "INSERT INTO alerts (message) VALUES ('$body')";
$result = $db->query($sql);
if ($result) {
$response = 'Thanks. Your message was posted on the website.';
} else {
$response = 'There was a query error.';
}
}
header('Content-type: application/xml');
echo $twiml1;
echo $response;
echo $twiml2;
这里是 Twilio 开发人员布道者。
从 Twilio 通过 webhook 发送的参数区分大小写并以大写字母开头。传入消息的文本作为 Body
参数发送,因此检查 $_POST['body']
将不起作用。
我会将您的条件更新为:
if (isset($_POST['Body'])) {
$body = strip_tags($_POST['Body']);
// The rest
}
另外,请注意,<Sms>
元素已被弃用。我会改用 <Message>
元素。标签也区分大小写,因此我将 TwiML 部分更新为:
$twiml1 = '<Response><Message>';
$twiml2 = '</Message></Response>';
如果有帮助请告诉我。
我正在创建一个示例应用程序,它将 post 在发生飓风或服务中断时向网站发出警报。我没有使用 Laravel.
我在我的帐户设置中设置了页面的URL。第一次发送消息时,我收到了一个 HTTP 错误,提示它已超时但没有得到响应。我编辑了 XML 并再次尝试。
我在数据库中没有得到任何东西,也没有得到响应。我还编写了一个示例页面,其中 post 是一个值,以查看它是否有效并且确实有效。它 post 将其输入数据库并显示格式正确 XML。
<?php
$response = 'This number cannot handle automated replies...';
$twiml1 = '<response><sms>';
$twiml2 = '</sms></response>';
require_once '../settings/db.php';
if (isset($_POST['body'])) {
$body = strip_tags($_POST['body']);
$sql = "INSERT INTO alerts (message) VALUES ('$body')";
$result = $db->query($sql);
if ($result) {
$response = 'Thanks. Your message was posted on the website.';
} else {
$response = 'There was a query error.';
}
}
header('Content-type: application/xml');
echo $twiml1;
echo $response;
echo $twiml2;
这里是 Twilio 开发人员布道者。
从 Twilio 通过 webhook 发送的参数区分大小写并以大写字母开头。传入消息的文本作为 Body
参数发送,因此检查 $_POST['body']
将不起作用。
我会将您的条件更新为:
if (isset($_POST['Body'])) {
$body = strip_tags($_POST['Body']);
// The rest
}
另外,请注意,<Sms>
元素已被弃用。我会改用 <Message>
元素。标签也区分大小写,因此我将 TwiML 部分更新为:
$twiml1 = '<Response><Message>';
$twiml2 = '</Message></Response>';
如果有帮助请告诉我。