我一直在与Twilio合作,向应用程序的潜在用户发送短信。我已经知道如何向美国号码发送消息,但向国际移动用户发送短信被证明是比较棘手的。我在这里看看是否有人能帮我找出我做错了什么,并听取任何解决问题的方法的建议。我已经建立了一个简单的网页,有一个国际代码的下拉菜单,手机号码的输入表单和一个发送信息到Twilio服务器的按钮。它的代码如下所示:
<html>
<head><title>Text Me The Link!</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
//Javascript
$(function(){
$("#frm").submit(function(e){
e.preventDefault();
$.post("textMeLink.php", $("#frm").serialize(),
function(data){
if(data.sms_sent == 'OK'){
alert("Message Sent");
} else {
alert("Message Not Sent");
}
}, "json");
document.getElementById('frm').reset();
});
});
</script>
</head>
<body>
<form id="frm" name="frm" method = "POST">
<input type="reset" name="ajax" style="display:none"/>
<h4>Text your phone a download link for our iPhone and Android apps</h4>
<select name="code">
<?php
include "callingCodesV0.php";
$countryAndCodes = getCountryDialCodes();
foreach($countryAndCodes as $key=>$value){
echo "<option value='$value'>$key($value)</option>\n";
}
?>
</select>
<input type="phone" name="phone" placeholder="Enter Your Mobile Number"/>
<button type="submit">Get Link</button>
<div style="display: none; " class="error"/>
</form>包含在表单中的php文件是一个简单的脚本,它接受保存所有调用代码的json文件,并使用国家代码作为键、拨号代码作为元素创建一个简单的数组,因此它看起来如下所示:
CO(Colombia)=>"+57"另一个PHP(textMeLink.php)文件负责处理电话号码以及与Twilio服务器的交互。textMeLink.php看起来像这样:
<?php
require_once "C:\Users\Kevin\Marco Polo\\twilio-php-master\Services\Twilio.php";
$AccountSid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$AuthToken = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy";
$client = new Services_Twilio($AccountSid, $AuthToken);
$phone=$_POST['phone'];
$code=$_POST['code'];
$phoneAndCode = $code+$phone;
echo "phoneAndCode";
$sms = $client->account->sms_messages->create(
"+17327047999",
$phoneAndCode,
"Get our app now for iPhone: appstore.com/marcopolo\nGet our app now for Android: ....."
);
$sms_check="OK";
$return_json = '{"sms_sent":"' .$sms_check . '"}';
echo $return_json;
?>我想把重点放在定义变量$phone和$code的代码行上。正如您所看到的,我正在尝试连接这两个变量,以便我有一个电话号码及其各自的区号,我可以向其发送短信。然而,由于某些原因,连接不起作用,当我尝试短信一个国际号码时,什么也没有发生。甚至Twilio日志都没有显示我试图发送短信到的国际号码。我不确定错误是出现在包含html代码的php文件中,还是出现在处理电话号码和Twilio的第二个php文件中。正如我上面所说的,欢迎任何帮助、建议或指出错误。提前感谢大家。:)
发布于 2013-08-19 22:14:39
在PHP中,你使用.操作符,而不是+操作符。你把这两个数字相加。
$phoneAndCode = $code+$phone; 而不是连接:
$phoneAndCode = $code . $phone; 发布于 2014-01-10 08:27:20
我正在寻找类似的东西,真正的答案是twilio不支持哥伦比亚的电话,并且只支持2个运营商的短信("TIGO,Claro“)…我发送支持电子邮件,如果我知道什么,我会更新我的答案
https://stackoverflow.com/questions/18305944
复制相似问题