如何從iPhone應用程序以編程方式發送短信?我現在正在使用Twilio,並且可以正確設置HTTP請求,與服務器進行身份驗證並獲得響應。在iOS上發送短信與Twilio
由於我可以從Twilio服務器獲得響應,但是從不傳遞正確的數據,所以必須存在HTTP頭的某些配置錯誤。
我目前的代碼是在一個簡單的按鈕按下的方法。
- (IBAction)sendButtonPressed:(id)sender {
NSLog(@"Button pressed.");
NSString *kYourTwillioSID = @"AC8c3...f6da3";
NSString *urlString = [NSString stringWithFormat:@"https://AC8c3...6da3:[email protected]/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);
我認爲問題在於你應該使用POST字段,而不是HTTP標題......我將驗證那真的很快...... –
請注意,不建議使用Twilio API直接從iOS應用程序發送短信,因爲您必須在應用程序中嵌入您的AccountSid和AuthToken,該應用程序可以很容易地反編譯妥協您的憑據。使用Parse或Azure移動服務等服務來託管一個簡單的服務來發送消息並從您的應用程序調用該服務會更安全。 –
Devin,即使使用Parse或Azure,您也必須將您的授權令牌放入已編譯的應用程序中。 –