3

twilio を介して SMS を送信するにはどうすればよいですか?

- (IBAction)sendButtonPressed:(id)sender 
 {
    NSLog(@"Sending request.");

    // Common constants
    NSString *kTwilioSID = delegate.sessionId;
    NSString *kTwilioSecret = delegate.twilioToken;
    NSString *kFromNumber = delegate.twlioNumber;
    NSString *kToNumber = @"+14126620408";
    NSString *kMessage = @"Hi there......";

    // Build request
    NSString *urlString = [NSString stringWithFormat:@"https://%@:%@@api.twilio.com/2010-04-01/Accounts/%@/SMS/Messages", kTwilioSID, kTwilioSecret, kTwilioSID];

    NSURL *url = [NSURL URLWithString:urlString];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:url];
    [request setHTTPMethod:@"POST"];

    // Set up the body
    NSString *bodyString = [NSString stringWithFormat:@"From=%@&To=%@&Body=%@", kFromNumber, kToNumber, kMessage];
    NSData *data = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
    [request setHTTPBody:data];
    NSError *error;
    NSURLResponse *response;
    NSData *receivedData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

    // Handle the received data
    if (error) {
        NSLog(@"Error: %@", error);
    } else {
        NSString *receivedString = [[NSString alloc]initWithData:receivedData encoding:NSUTF8StringEncoding];
        NSLog(@"Request sent. %@", receivedString);
    }     
 }

エラーが発生しました:操作を完了できませんでした。(kCFErrorDomainCFNetwork エラー -1012。この問題の解決にご協力いただくか、何か役立つ情報を共有してください。よろしくお願いします。

4

4 に答える 4

4

この回答によると、エラー 1012 は、認証の要求がユーザーによってキャンセルされたことを意味します。

単なる直感ですが、次のような Authorization ヘッダーを追加して、HTTP Basic Auth を使用してみてください: URL 文字列に資格情報を含める代わりに、Objective-c HTTP Basic 認証。ヘッダーを正しく。

于 2012-04-19T16:29:47.493 に答える
4

HttpPost パラメータが URL エンコードされていることを確認してください。

NSString *kToNumber = @"+14126620408";

NSString *kToNumber = @"%2B14126620408";
于 2015-05-07T02:31:54.303 に答える