发送带有Twilio购买的号码的SMS消息



我已经购买了号码,但我无法发送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消息。它涵盖了如何设置服务器以发送消息,然后与该服务器进行交互。

最新更新