我尝试使用Twilio作为服务提供商,但他们没有我理解的Swift示例.
我的任务是使用Swil的Twilio API向一个号码发送短信.
我有一个Twilio.com帐户 - 那个正在运行.但是我如何以简单的方式在Swift代码中执行此操作.
Twilio确实提供了一个库 - 但这适用于C#而不是Swift(并且使用桥接头看起来太复杂了!)
这是C#示例,我需要一个简单的Swift示例.
// Download the twilio-csharp library from twilio.com/docs/csharp/install
using System;
using Twilio;
class Example
{
static void Main(string[] args)
{
// Find your Account Sid and Auth Token at twilio.com/user/account
string AccountSid = "AC5ef8732a3c49700934481addd5ce1659";
string AuthToken = "{{ auth_token }}";
var twilio = new TwilioRestClient(AccountSid, AuthToken);
var message = twilio.SendMessage("+14158141829", "+15558675309", "Jenny please?! I love you <3", new string[] {"http://www.example.com/hearts.png"});
Console.WriteLine(message.Sid);
}
}
Run Code Online (Sandbox Code Playgroud)
Twilio福音传教士在这里.
要从Swift发送文本消息,您只需直接向Twilios REST API发出请求即可.也就是说,我不建议从iOS应用程序(或任何其他客户端应用程序)执行此操作,因为它要求您在应用程序中嵌入Twilio帐户凭据,这很危险.我建议从服务器端应用程序发送SMS.
如果您确实想从您的应用程序发送消息,我知道有几个Swift库可以简化HTTP请求:
要使用SwiftRequest发出请求,它看起来像这样:
var swiftRequest = SwiftRequest();
var data = [
"To" : "+15555555555",
"From" : "+15555556666",
"Body" : "Hello World"
];
swiftRequest.post("https://api.twilio.com/2010-04-01/Accounts/[YOUR_ACCOUNT_SID]/Messages",
auth: ["username" : "[YOUR_ACCOUNT_SID]", "password" : "YOUR_AUTH_TOKEN"]
data: data,
callback: {err, response, body in
if err == nil {
println("Success: \(response)")
} else {
println("Error: \(err)")
}
});
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
最近我经历了Twilio文档和很少的SO帖子.
您可以使用Swift 2.0中的以下代码片段发送短信
func sendSMS()
{
let twilioSID = "your Sender ID here"
let twilioSecret = "your token id here"
//Note replace + = %2B , for To and From phone number
let fromNumber = "%2B14806794445"// actual number is +14803606445
let toNumber = "%2B919152346132"// actual number is +919152346132
let message = "Your verification code is 2212 for signup with <app name here> "
// Build the request
let request = NSMutableURLRequest(URL: NSURL(string:"https://\(twilioSID):\(twilioSecret)@api.twilio.com/2010-04-01/Accounts/\(twilioSID)/SMS/Messages")!)
request.HTTPMethod = "POST"
request.HTTPBody = "From=\(fromNumber)&To=\(toNumber)&Body=\(message)".dataUsingEncoding(NSUTF8StringEncoding)
// Build the completion block and send the request
NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: { (data, response, error) in
print("Finished")
if let data = data, responseDetails = NSString(data: data, encoding: NSUTF8StringEncoding) {
// Success
print("Response: \(responseDetails)")
} else {
// Failure
print("Error: \(error)")
}
}).resume()
}
Run Code Online (Sandbox Code Playgroud)
如果一切顺利..你应该收到这样的消息..
归档时间: |
|
查看次数: |
4664 次 |
最近记录: |