2011-03-28 4 views
2

GData을 사용하면 gdata API와 상호 작용할 수있는 세션이나 자격 증명을 저장할 수있는 방법이 있습니까? 아니면 키 체인에 자격 증명을 수동으로 저장해야합니까? YouTube 업로드 API를 사용하고 있으며 매번 사용자 이름과 비밀번호를 입력 할 필요가 없도록하고 싶습니다. 사용자의 Google 로그인 세션을 자동으로 가져 오는 방법이 있다면 훨씬 좋습니다.iPhone 용 Google gdata api, 로그인 자격 증명 (사용자 이름 및 비밀번호) 또는 세션을 저장하는 방법은 무엇입니까?

답변

0

GTM OAuth는 최신 버전이지만 GData API는 setAuthorizer 메소드를 통해이를 지원합니다. 나는 내가 소스 코드에 뛰어들 때까지 그것을 알아 차리지 못했다.

//save to keychain 
- (void)viewController:(GDataOAuthViewControllerTouch *)viewController 
     finishedWithAuth:(GDataOAuthAuthentication *)auth 
       error:(NSError *)error { 
if (error != nil) { 
     // Authentication failed 

    } else { 
     [[self youTubeService] setAuthorizer:auth]; 
    } 
} 

//check if authorized: 
- (BOOL)isAuthorized 
{ 
    GDataOAuthAuthentication * auth = [GDataOAuthViewControllerTouch authForGoogleFromKeychainForName:kAppServiceName]; 
    BOOL isSignedIn = [auth canAuthorize]; // returns NO if auth cannot authorize requests 
    if(isSignedIn) [[self youTubeService] setAuthorizer:auth]; 
    return isSignedIn; 
} 
0

GTM Oauth 라이브러리 (http://code.google.com/p/gtm-oauth/)를 사용하는 경우 서비스 이름별로 키 체인에 액세스 토큰 정보를 저장하는 방법을 제공합니다 (예 : 'YouTubeAPI " 또는 뭔가).

또한 원시 사용자 이름/비밀번호를 사용하는 경우 세부 정보를 키 체인에 저장합니다. Sci-Fi Hi-Fi에는 과거에 사용했던 멋진 라이브러리 (예 : http://github.com/ldandersen/scifihifi-iphone)가 있습니다.

+0

http://code.google.com/p/gdata-objectivec-client에있는 자료를 사용하고 있습니다. GTM은 이와 같이 작동합니다. 고마워. 고마워. – akaru

+0

아무런 문제가 없지만 어떻게되는지 알려주세요. –