gpt4 book ai didi

ios - 在 iOS 上使用 Twilio 发送短信

转载 作者:搜寻专家 更新时间:2023-10-30 22:22:04 24 4
gpt4 key购买 nike

如何从 iPhone 应用程序以编程方式发送 SMS 消息?我现在正在使用 Twilio,可以正确设置 HTTP 请求、向服务器进行身份验证并获得响应。

一定是 HTTP header 配置有误,因为我可以从 Twilio 服务器获得响应,但从未传递正确的数据。

我当前的代码在一个通过简单的按钮按下调用的方法中。

- (IBAction)sendButtonPressed:(id)sender {
NSLog(@"Button pressed.");

NSString *kYourTwillioSID = @"AC8c3...f6da3";
NSString *urlString = [NSString stringWithFormat:@"https://AC8c3...6da3:bf...0b7@api.twilio.com/2010-04-01/Accounts/%@/SMS/Messages", kYourTwillioSID];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setValue:@"+18584334333" forHTTPHeaderField:@"From"];
[request setValue:@"+13063707780" forHTTPHeaderField:@"To"];
[request setValue:@"Hello\n" forHTTPHeaderField:@"Body"];

NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

if (!error) {
NSString *response_details = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"%@",response_details);

}
NSLog(@"Request finished %@", error);

最佳答案

如果您只想在 iOS 中发送短信,您可以使用 MessageUI.framework 中的 MFMessageComposeViewController。如您所知,这需要用户交互。

正如您所要求的,您可以使用 Twilio 在几乎任何平台上直接发送 SMS。对于 iOS,您可以使用以下 Swift 代码访问 Twilio API 并发送您想要的任何短信:

func tappedSendButton() {
print("Tapped button")

// Use your own details here
let twilioSID = "AC8c3...6da3"
let twilioSecret = "bf2...b0b7"
let fromNumber = "4152226666"
let toNumber = "4153338888"
let message = "Hey"

// 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()

对于任何进一步的 API 交互,您可以查看官方文档:https://www.twilio.com/docs/api/rest

关于ios - 在 iOS 上使用 Twilio 发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6832640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com