gdata と YouTube API を介してユーザーからすべてのビデオを取得する iOS アプリがあります。私の問題はプライベートビデオに付属しています。ビデオが選択されたときにプライベートビデオが公開されるようにする必要があります。
editLink
動画を公開しようとすると、YouTube API から返されたエントリの が空であるため、編集できません。
これが私のコードです。誰かが私が間違っていることや、変更を加えるために何ができるかを教えてくれます:
GDataEntryBase *entry = [[feed entries] objectAtIndex:selectedRow];
[[(GDataEntryYouTubeVideo *)entry mediaGroup] setIsPrivate:NO];
//GDataEntryYouTubeUpload *uploadEntry =
//[GDataEntryYouTubeUpload uploadEntryWithMediaGroup:mediaGroup
//fileHandle:nil MIMEType:@"video/mp4" slug:[[entry title]
//stringValue]];
GDataServiceTicket *ticket;
GDataServiceGoogleYouTube *service = [self youTubeService];
NSString *str = [entry canEdit] ? @"YES" : @"NO";
NSLog(@"Can edit %@", str);
NSLog(@"Edit URL %@", [[entry editLink] URL] );
// NSURL *url = [GDataServiceGoogleYouTube
//youTubeUploadURLForUserID:kGDataServiceDefaultUser];
ticket = [service fetchEntryByUpdatingEntry:entry
forEntryURL:[[entry editLink] URL] delegate:self
didFinishSelector:@selector(uploadTicket:finishedWithEntry:error:)];
// ticket = [service fetchEntryByUpdatingEntry:entry
//delegate:self didFinishSelector:@selector(uploadTicket:finishedWithEntry:error:)];
NSLog(@"Ticket = %@", ticket);
}
}
- (void)uploadTicket:(GDataServiceTicket *)ticket
finishedWithEntry:(GDataEntryYouTubeVideo *)videoEntry error:(NSError
*)error {
NSLog(@"Finished...");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Upload
failed" message:[NSString stringWithFormat:@"Upload failed: %@",
error] delegate:self cancelButtonTitle:@"Cancel"
otherButtonTitles:nil, nil];
if (error != nil) {
NSLog(@"Errors: %@", error);
[alert show];
} else {
NSLog(@"NO ERRORS :))");
}
}