2017-01-20 2 views
0

Twilio 계정과 관련된 모든 레코딩 개체를 다운로드하려고하는데이를 수행하는 TwilioVoiceClient.h 또는 VoiceClient.h의 메서드가 표시되지 않습니다. ProgramableVoice iOS SDK (베타 5)를 사용하고 있지만 온라인 설명서에 어떤 목표도 표시되지 않습니다 (c 또는 Swift). 나는 기록 SID가과 같이 알고 있다면 아무런 문제없이 개인 기록을 재생할 수 있어요 : 그래도 난 할 싶습니다 무엇프로그래밍 가능한 음성 SDK를 사용하여 Twilio에서 모든 레코딩 검색

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); 


    } 
}]; 

이 콘솔 출력 다운로드 오류가 발생합니다 :

데이터 다운로드 오류 : 오류 도메인 = NSURLErrorDomain 코드 = -1012 "(널)"사용자 정보 = {NSErrorFailingURLStringKey = https://api.twilio.com/2010-04-01/Accounts/ACdee27262ef5fd27a593a697d80e7f7b0/Recordings.json, NSUnderlyingError = 0x17084aa70 {오류 도메인 = kCFErrorDomainCFNetwork 코드 = -1012 "(널)"사용자 정보 = {_ 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} 분명히

, 그렇지 않습니다 중 하나 끝점을 인식하거나하지 않는다. 내가 인증하는 방식처럼. 객관적으로이 정보를 요청하려면 어떻게해야합니까?

읽어 주셔서 감사합니다.

답변

1

개발자 전도사 Twilio가 여기 있습니다.

실제로 계정 자격 증명을 응용 프로그램에 넣고 응용 프로그램에서 API 호출을 수행하지 않는 것이 좋습니다. 악의적 인 공격자가 응용 프로그램을 디 컴파일하여 자격 증명을 검색하고 계정을 악용 할 가능성이 있습니다.

대신 서버 측 솔루션을 구현하여 API를 호출하고 녹음을 검색하는 것이 좋습니다. 그런 다음 응용 프로그램에서 서버와 통신 할 수 있습니다.

Here's a blog post that explains more and includes an example for sending an SMS from an iOS application.