通过 Twilio 保存传入短信中包含的任何附件的副本
Save a copy of any attachments included with an incoming SMS via Twilio
我成功构建了一个使用 Twilio 语音和文本的工具。我公司用它来 Send/Recive 文本和测试 phone 数字。不幸的是,做我想做的事情的唯一文档是 Laravel (https://www.twilio.com/docs/sms/tutorials/how-to-receive-and-download-images-incoming-mms-php-laravel). Then there is a very basic guide to SMS Attachments here (https://www.twilio.com/docs/sms/api/media-resource#list),不幸的是它没有详细说明。
$media = $twilio->messages($strSID)->media($strAttachmentSID)->fetch();
,但不知道如何处理它 returns 的对象。我期待一些简单的东西,比如
$media = $twilio->messages($strSID)->media($strAttachmentSID)->fetch()->save();
请帮助我了解如何处理返回的对象。
我试过在这个对象返回的 uri 上使用 move_uploaded_file(),但是没有用。
我试过使用 curl 向附件 url 发送请求,但是 returns 在传入消息的 post 中给出了内容。
这里是 Twilio 开发人员布道者。
当您收到附有媒体的消息时,incoming webhook request 将有一个参数 NumMedia
,它会告诉您有多少媒体对象。然后,对于它们中的每一个,都会有 MediaUrlX
(其中 X 是一个数字),其中包含媒体对象的 URL,以及 MediaContentTypeX
,这是媒体对象的 MIME 类型媒体对象。
在laravel例子中,内容是用this function下载的:
public function getMediaContent($mediaUrl)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $mediaUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Option to follow the redirects, otherwise it will return an XML
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$media = curl_exec($ch);
curl_close($ch);
return $media;
}
你用媒体URL调用的,例如
$contents = getMediaContent($_POST["MediaUrl0"]);
然后您需要将内容保存到文件中。
如果有帮助请告诉我。
我成功构建了一个使用 Twilio 语音和文本的工具。我公司用它来 Send/Recive 文本和测试 phone 数字。不幸的是,做我想做的事情的唯一文档是 Laravel (https://www.twilio.com/docs/sms/tutorials/how-to-receive-and-download-images-incoming-mms-php-laravel). Then there is a very basic guide to SMS Attachments here (https://www.twilio.com/docs/sms/api/media-resource#list),不幸的是它没有详细说明。
$media = $twilio->messages($strSID)->media($strAttachmentSID)->fetch();
,但不知道如何处理它 returns 的对象。我期待一些简单的东西,比如
$media = $twilio->messages($strSID)->media($strAttachmentSID)->fetch()->save();
请帮助我了解如何处理返回的对象。
我试过在这个对象返回的 uri 上使用 move_uploaded_file(),但是没有用。
我试过使用 curl 向附件 url 发送请求,但是 returns 在传入消息的 post 中给出了内容。
这里是 Twilio 开发人员布道者。
当您收到附有媒体的消息时,incoming webhook request 将有一个参数 NumMedia
,它会告诉您有多少媒体对象。然后,对于它们中的每一个,都会有 MediaUrlX
(其中 X 是一个数字),其中包含媒体对象的 URL,以及 MediaContentTypeX
,这是媒体对象的 MIME 类型媒体对象。
在laravel例子中,内容是用this function下载的:
public function getMediaContent($mediaUrl)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $mediaUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Option to follow the redirects, otherwise it will return an XML
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$media = curl_exec($ch);
curl_close($ch);
return $media;
}
你用媒体URL调用的,例如
$contents = getMediaContent($_POST["MediaUrl0"]);
然后您需要将内容保存到文件中。
如果有帮助请告诉我。