我已经购买了号码,但我无法发送SMS消息 提出不良要求400。通过使用试用号码,我可以在下面发送短信 我正在为API使用AfNewtorking,或者是否有其他方法可以调用 购买有效号码的API
NSString *kTwilioSID = @" ";
NSString *kTwilioSecret = @" ";
NSString *kFromNumber = @"+ ";
NSString* nospacestring =[phno stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString *kToNumber = nospacestring;
NSString *kSMSMessage = @"Smart Child Info is a precautionary app designed to fight child abduction, exploitation, and maltreatment.";
// Build request
NSString *urlString = [NSString stringWithFormat:@"https://%@:%@@api.twilio.com/2010-04-01/Accounts/%@/SMS/Messages/", kTwilioSID, kTwilioSecret, kTwilioSID];
NSString *Loginurl = urlString;
NSDictionary*
dic=@{@"From":kFromNumber,@"To":kToNumber,@"Body":kSMSMessage};
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/plain",@"application/xml",nil];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[manager POST:Loginurl parameters:dic progress:nil success:^(NSURLSessionTask *task, id responseObject) {
NSLog(@"Response from server : %@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]);
NSData * data = (NSData *)responseObject;
NSString* xmlData = [NSString stringWithCString:[data bytes] encoding:NSISOLatin1StringEncoding];
NSLog(@"%@",xmlData);
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Success" message:@"Message has been sent" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil];
[alertController addAction:ok];
[self presentViewController:alertController animated:YES completion:nil];
}
failure:^(NSURLSessionTask *operation, NSError *error)
{
NSLog(@"Error: %@", error);
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Failed" message:@"Message not sent" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil];
[alertController addAction:ok];
[self presentViewController:alertController animated:YES completion:nil];
}];
twilio开发人员在这里。
首先,我们不建议您直接通过iOS应用程序直接向Twilio API进行API调用。如果有人要解开您的应用程序,他们可以访问您的帐户SID和Auth Token,然后将您的帐户用于他们想要的任何内容。
其次,您使用的是不弃用的SMS/Messages
端点。相反,您应该使用更多最新的Messages
端点。
我建议您查看此博客文章,介绍与iOS上的Twilio一起发送SMS消息。它涵盖了如何设置服务器以发送消息,然后与该服务器进行交互。