2

我想制作一个应用程序,用户可以在其中输入电话号码和消息,并且我可以让 Twilio 向该电话号码发送一条带有合成文本的消息。我正在使用的 TwiML 代码示例很简单,例如

<?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Say>Hello World</Say>
    <Response>

为了完成这项工作,我尝试设置一个 PHP 函数,该函数接收消息并回显上述 TwiML,但我从测试中收到的电话报告应用程序失败。作为记录,这是我尝试过的 PHP 代码。

echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<Response>";
echo "<Say>" . $_GET['message'] . "</Say>";
echo "</Response>";

但是,我很容易就可以使用 TwiMLBin 来处理它(毕竟这是它的目的)。然而,环顾四周后,我找不到任何关于该网站 API 的信息。有谁知道是否有办法以编程方式创建 TwiMLBin,以便我可以为我的用户输入的消息创建适当的 TwiMLBin,然后将我的 Twilio 函数调用定向到适当的 URL?

4

1 回答 1

1

像这样的东西应该在 PHP 中工作。cURL 可用于许多编程语言,因此您可以将其反转。

<?php

/* 
 * Create TWimL Bin
 */
$url = "http://twimlbin.com/create";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$html = curl_exec($ch);
$status_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);

if($status_code=302 or $status_code=301){
  $TwimLBinURL = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
}
curl_close($ch);
/*
 * Update TwimL with XML
 */
$ExplodeTwimLBinURL = explode("/", $TwimLBinURL);
$TwimLBinID = $ExplodeTwimLBinURL[3];

$TwimLBinUpdateUrl = "http://twimlbin.com/".$TwimLBinID."/update";
$data = "twiml=<PUT TWIML XML HERE>";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$TwimLBinUpdateUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);
echo $TwimLBinURL;
/*
 * End of TwimL Bin Creation
 */
?>
于 2015-09-03T16:43:01.270 回答