2014-02-19 2 views
0

내 앱에 imageView가 있는데 이미지를 Picasa에 게시하고 싶습니다.
GData Framwork를 사용하라는 제안이 있습니다. 난 내 빌드 단계에서 운영자와 파일을 추가 할 때,이 표시됩니다iOS 앱에서 GData 프레임 워크를 사용하여 Picasa에 이미지를 업로드하는 방법은 무엇인가요?

code.google.com/p/gdata-objectivec-client/downloads/list

에서 다운로드하지만, 빨간색으로. 나는 다른 포럼뿐만 아니라, SO에서 모든 방법을 시도했다.
다른 방법으로 Picasa에 이미지를 업로드 할 수 있습니까?
도움이 될 것입니다.

답변

0

테스트 할 앱이 없지만 php-curl 솔루션을 this SO question에서 번역했습니다.

NSString *authCode = [NSString stringWithFormat:@"GoogleLogin auth=",@"ACCESS CODE FROM OAUTH2"]; 
    NSString *userId = @"USER ID GOES HERE"; 
    NSString *albumId = @"ALBUM ID GOES HERE"; 
    NSString *albumUrl = [NSString stringWithFormat:@"https://picasaweb.google.com/data/feed/api/user/%@/albumid/%@",userId, albumId]; 


    // To get the data from a PNG file 
    NSData *postData = UIImagePNGRepresentation([UIImage imageNamed:@"YOUR IMAGE"]); 

    // To get the data from a JPEG file 
    //NSData *postData = UIImageJPEGRepresentation([UIImage imageNamed:@"YOUR IMAGE"], 0.9f); 

    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

    // Init and set fields of the URLRequest 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
    [request setHTTPMethod:@"POST"]; 
    [request setURL:[NSURL URLWithString:[NSString stringWithString:albumUrl]]]; 
    [request setValue:@"image/jpeg" forHTTPHeaderField:@"Content-Type"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
    [request setValue:@"2" forHTTPHeaderField:@"GData-Version"]; 
    [request setValue:authCode forHTTPHeaderField:@"Authorization"]; 
    [request setHTTPBody:postData]; 

    NSURLResponse* rep = nil; 
    NSError *err = nil; 
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&rep error:&err]; 

    if (data && !err) { 
     //Do something with the response 
    } 

희망이 있습니다.

+0

와트는 인증 코드 – Chandru

+0

입니다. 감사합니다. 내가 첵하고 알리십시오. – Chandru

+0

우물 .. 미안합니다. 앨범을 만드는 것입니다. 대답을 편집했습니다 – user1349663