0

我正在实现一个获取链接按钮,一旦您在文本字段中输入您的电话号码,它将通过文本向您发送一个链接。我正在使用 Twilio 来处理我的 SMS 内容,并且我正在遵循一个应用程序教程,该教程准确地教授了我正在尝试实现的内容。这是教程和我想做的理想实现,分别:

http://www.apptamin.com/blog/app-download-button/

http://getmaid.com/

到目前为止,我已经制作了一个简单的 html 文件,它只显示按钮、消息和文本字段。这是该文件的代码:

<html>
<head><title>Text Me The Link!</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.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");
});
    });
   </script>
</head>
  <body>
<form id="frm" name="frm">
    <input type="hidden" name="ajax" value="1"/>
        <h4>Text your phone a download link for our iPhone and Android apps</h4>
    <input type="phone" name="phone" placeholder="Enter Your Mobile Number"/>
    <button type="submit">Get Link</button>
    <div style="display: none; " class="error"/>
</form>
  </body>
</html>

PHP 文件就像一个魅力。我已经独立测试过,我从 Twilio 收到短信没有任何问题。问题是当我从 html 文件中尝试它时。每当我输入电话号码时,我都不会收到警报,唯一改变的是链接

从:

file:///C:/Users/Kevin/Marco%20Polo/twilio-php-master/sendLinkV0.html   

至:

file:///C:/Users/Kevin/Marco%20Polo/twilio-php-master/sendLinkV0.html?ajax=1&phone=1234567890

在那之后,无论我尝试什么其他号码,都没有任何效果,唯一改变的是链接末尾的号码,Twilio 从来没有发送过短信。我可能只是遗漏了一小部分,或者可能不知道我必须将文件放在服务器而不是我的 C: 驱动器中,也许我不知道。因此,如果有人能够看到我哪里出错了,并解释它为什么会失败,那就太棒了!

谢谢,

每个人

PS html、php 文件以及 Twilio 库都在同一个目录中,该目录在 WAMP httpd.conf 文件中更改为新的 Documentroot

编辑

我运行了我的 php 代码,似乎 php 文件上的代码存在错误,并且 html 文件可能没有问题。这是我的 php 文件:

<?php 

  require "Services\Twilio.php";
$AccountSid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$AuthToken = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy";

$client = new Services_Twilio($AccountSid, $AuthToken);

 $phone=$_POST["phone"];

 $sms = $client->account->sms_messages->create(
     "+17327047999",

    $phone,

    "Get our app now: http://play.google.com/store/apps/details?id=some.app"
);
$sms_check="OK";
$return_json = '{"sms_sent":"' .$sms_check . '"}';

echo $return_json;
 ?>

似乎错误源于我定义 $phone 变量的事实方式。我读到的错误:

 Notice: Undefined index: phone in C:\Users\Kevin\Marco Polo\twilio-php-master\textMeLink.php on line 9

 Warning: file_get_contents: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in C:\Users\Kevin\Marco Polo\twilio-php-master\Services\Twilio\HttpStream.php on line 61

 Fatal error: Uncaught exception 'Services_Twilio_HttpStreamException' with message 'Unable to connect to service' in C:\Users\Kevin\Marco Polo\twilio-php-master\Services\Twilio\HttpStream.php on line 64

Services_Twilio_HttpStreamException: Unable to connect to service in C:\Users\Kevin\Marco Polo\twilio-php-master\Services\Twilio\HttpStream.php on line 64
4

1 回答 1

0

Twilio 开发人员布道者在这里。

我认为问题是由于您的本地开发环境中未启用 SSL 扩展。Twilio要求使用 HTTPS 向其 API 发出请求

另一个用户在这里解决了这个问题

要启用扩展,请转到您的 WAMP 目录(例如 C:\path\to\wamp\bin\php\php#.#.#\php.ini)并取消注释;extension=php_openssl.dll。

一定要在之后重新启动 WAMP。

希望这可以帮助!

于 2014-01-14T00:58:28.877 回答