我已经设法在客户端使用 Twilio 的 API,发送短信,但似乎无法将所有内容整合在一起。我想创建一个简单的 HTML 表单,其中有一些文本提示用户输入电话号码,有一个文本字段来接受数字字符串,还有一个按钮将字符串作为输入变量(即要发送短信的号码)发布。 不知道将我的 javascript 函数 (send-sms.js) 放在下面的哪里来单击按钮。 在网上找不到任何内容、任何想法或示例?
/* send-sms.js */
// Twilio Credentials
var accountSid = 'ACd8a0efd010e09e09ce506fe1d4612e11';
var authToken = 'AUTH_TOKEN';
//require the Twilio module and create a REST client
var client = require('twilio')(accountSid, authToken);
client.messages.create({
to: "+1646456789",
from: "+19171234567",
body: "Hellow from Twilio?",
}, function(err, message) {
console.log(message.sid);
});
为什么不直接创建一个函数,然后调用它呢?无论如何,这听起来像是您想要的。我可能是错的。但是,使用 Twilio API 的客户端时您需要非常小心。这带来了很大的安全风险。有人可以轻松获取帐户凭据,然后用您的钱发送大量短信。
function sendTextMessage() {
var phoneNumber = $("#phoneNumberField).val();
var accountSid = 'ACOUNTSID';
var authToken = 'AUTHTOKEN';
var client = require('twilio')(accountSid, authToken);
client.messages.create({
to: phoneNumber,
from: "+19171234567",
body: "Hellow from Twilio?",
}, function(err, message) {
console.log(message.sid);
});
}
然后有一个表格...
<input type="text" id="phoneNumberField" />
<button type="button" onclick="sendTextMessage()">Send Text Message</button>
更好的选择是在服务器端运行它,并通过 POST/GET 和 HTTPS/HTTP 通过 html 表单将其发送到服务器端应用程序。客户端脚本创建了一个很棒的界面,而且速度很快。但是,您也可以使用 jQuery 提交表单以获得相同的体验,或者使用 AngularJS,例如使用后端 API 来执行数据操作和逻辑。
其他人已经提到过,但创建一个 Node.js 服务器并在那里运行它比在客户端浏览器上运行它更好。
这里是 Twilio 开发者布道者。
正如 Scott 所说,您必须小心您的帐户凭据,如果您尝试在前端使用 Twilio Node.js API,您将丢失帐户 SID 和身份验证令牌,恶意用户将耗尽您的帐户资金.
因此,您应该创建一个服务器来发送消息。正如 guavacat 指出的那样,有几个关于使用 Twilio 发送 SMS 消息的 教程 。还有一些更基本的使用 Twilio 发送短信的指南。
我建议您阅读那些将引导您设置服务器并从中发送消息的内容。
您需要服务器端脚本(例如 PHP 或 Node.js)才能连接到 Twilio API 目前,由于跨源限制,您的脚本不允许这样做,也不建议这样做,因为这会暴露您的帐户凭据。
最好的办法是创建一个连接到 Twilio 的服务器端脚本,并将其添加到您的表单提交中。
使用cometchat怎么样? 我听说有免费选项。