0
여러 개의 비디오를 YouTube에 업로드해야하는 응용 프로그램을 만들고 있습니다. GData의 문제는 정보를 콜백 함수에 전달하여 다른 업로드를 구별 할 수 없다는 것입니다. ASIHttpRequest에서iOS GData 여러 개의 youtube 업로드
(void)uploadTicket:(GDataServiceTicket *)ticket
finishedWithEntry:(GDataEntryYouTubeVideo *)videoEntry
error:(NSError *)error
사용자가 requestFinish 콜백 정보를 전달할 수 있도록하는 "사용자 정보"속성이있다. GData youtube 업로드 요청은 어떻게됩니까?
- (void)uploadToYoutube: (NSString *)login andPassword:(NSString *)password withVideo:(NSData *)videoData forSighting:(SightingDB *)sighting {
[service setYouTubeDeveloperKey:DEVELOPER_KEY];
NSURL *url = [GDataServiceGoogleYouTube youTubeUploadURLForUserID:kGDataServiceDefaultUser];
NSString *titleStr = @"title";
// gather all the metadata needed for the mediaGroup
GDataMediaTitle *title = [GDataMediaTitle textConstructWithString:titleStr];
[titleStr release];
NSString *categoryStr = @"Entertainment";
GDataMediaCategory *category = [GDataMediaCategory mediaCategoryWithString:categoryStr];
[category setScheme:kGDataSchemeYouTubeCategory];
NSString *descStr = @"descripion"
GDataMediaDescription *desc = [GDataMediaDescription textConstructWithString:descStr];
[descStr release];
NSArray *kwords = [[NSArray alloc] initWithObjects:@"xxx",@"weee",nil];
GDataMediaKeywords *keywords = [GDataMediaKeywords keywordsWithStrings:kwords];
BOOL isPrivate = NO;
GDataYouTubeMediaGroup *mediaGroup = [GDataYouTubeMediaGroup mediaGroup];
[mediaGroup setMediaTitle:title];
[mediaGroup setMediaDescription:desc];
[mediaGroup addMediaCategory:category];
[mediaGroup setMediaKeywords:keywords];
[mediaGroup setIsPrivate:isPrivate];
NSString *mimeType = [GDataUtilities MIMETypeForFileAtPath:@""
defaultMIMEType:@"video/mp4"];
// create the upload entry with the mediaGroup and the file data
GDataEntryYouTubeUpload *entry;
entry = [GDataEntryYouTubeUpload uploadEntryWithMediaGroup:mediaGroup
data:videoData
MIMEType:mimeType
slug:@"movie.mov"];
SEL progressSel = @selector(ticket:hasDeliveredByteCount:ofTotalByteCount:);
[service setServiceUploadProgressSelector:progressSel];
GDataServiceTicket *ticket;
ticket = [service fetchEntryByInsertingEntry:entry
forFeedURL:url
delegate:self
didFinishSelector:@selector(uploadTicket:finishedWithEntry:error:)];