Я пытаюсь загрузить все объекты записи, связанные с учетной записью Twilio, но не вижу никаких методов в TwilioVoiceClient.h или VoiceClient.h, которые этого добиваются. Я использую SDK ProgramableVoice iOS (бета-версия 5), но онлайн-документация не показывает никаких объективных-с или Swift. Я в состоянии воспроизводить отдельные записи без каких-либо проблем, если запись SID известен как так:Извлечь все записи в Twilio с помощью программируемого голосового SDK
NSString *baseString = @"https://api.twilio.com/2010-04-01/Accounts/";
NSString *recordingSID = @"RExxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
NSURL *recordingUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/Recordings/%@.mp3", baseString, kTwilAccount, recordingSID]];
avPlayer = [[AVPlayer alloc]initWithURL:recordingUrl];
То, что я хотел бы сделать, хотя, это загрузить все связанные с ним объекты записи для учетной записи. Для этого я обратился к NSURLConnection:
NSString *baseStr = [NSString stringWithFormat:@"https://api.twilio.com/2010-04-01/Accounts/%@/Recordings.json", kTwilAccount];
NSURL *url = [NSURL URLWithString:baseStr];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:1000.0];
NSString *authStr = [NSString stringWithFormat:@"%@:%@", kTwilAccount, authToken];
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Base %@", [authData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]];
[theRequest setValue:authValue forHTTPHeaderField:@"Authorization"];
[NSURLConnection sendAsynchronousRequest:theRequest queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *responseCode, NSData *responseData, NSError *responseError) {
if ([responseData length] > 0 && responseError == nil){
// do work
} else if ([responseData length] == 0 && responseError == nil){
NSLog(@"data error: %@", responseError);
} else if (responseError != nil && responseError.code == NSURLErrorTimedOut){
NSLog(@"data timeout: %ld", (long)NSURLErrorTimedOut);
} else if (responseError != nil){
NSLog(@"data download error: %@", responseError);
}
}];
Это приводит к ошибке загрузки с выходом консоли:
загрузить данные об ошибке: Error Domain = NSURLErrorDomain Code = -1012 "(нуль)" UserInfo = {NSErrorFailingURLStringKey = https://api.twilio.com/2010-04-01/Accounts/ACdee27262ef5fd27a593a697d80e7f7b0/Recordings.json, NSUnderlyingError = 0x17084aa70 {Error Domain = kCFErrorDomainCFNetwork Code = -1012 "(нуль)" UserInfo = {_ kCFURLErrorAuthFailedResponseKey = {URL = https://api.twilio.com/2010-04-01/Accounts/ACdeedkfdjieireijrekjrkejrk4kj4/Recordings.json}}}, NSErrorFailingURLKey = https://api.twilio.com/2010-04-01/Accounts/ACdeedkfdjieireijrekjrkejrk4kj4/Recordings.json}
Очевидно, что он либо не признать конечную точку или не как то, как я аутентифицируюсь. Как я могу запрашивать эту информацию в объективе-c?
Спасибо за чтение.