私は自分の質問に対する解決策を見つけることができました。そして、それがあなたにも役立つことを願っています。
私のviewDidLoadでは、loadYoutube関数とloadYoutubePlaylist関数を呼び出しました。
- loadYoutube->は、ユーザーに指定されたURLとフィードIDを提供します。私の場合、ユーザーがアップロードした再生リストと動画のみを取得したいので、feedIDはkGDataYouTubeUserFeedIDUploadsです。
- loadYoutubePlaylist->は、ユーザーのプレイリストのURLを提供します。feedIDはkGDataYouTubeUserFeedIDPlaylistsです
- loadYoutubeVideosPerPlaylist->プレイリストごとの動画のURLを提供します。
コードは次のようになります。
- (void)loadYoutube
{
GDataServiceGoogleYouTube *service = [self youTubeService];
NSString *uploadsID = kGDataYouTubeUserFeedIDUploads;
NSURL *feedURL = [GDataServiceGoogleYouTube youTubeURLForUserID:@"USERNAME"
userFeedID:uploadsID];
NSLog(@"loadYoutube URL: %@", feedURL);
[service fetchFeedWithURL:feedURL
delegate:self
didFinishSelector:@selector(request:finishedLoadingYoutubeWithFeed:error:)];
}
- (void)loadYoutubePlaylist
{
GDataServiceGoogleYouTube *service = [self youTubeService];
NSString *feedID = kGDataYouTubeUserFeedIDPlaylists;
NSURL *feedURL = [GDataServiceGoogleYouTube youTubeURLForUserID:@"USERNAME"
userFeedID:feedID];
NSLog(@"loadYoutubePlaylist URL: %@", feedURL);
[service fetchFeedWithURL:feedURL
delegate:self
didFinishSelector:@selector(request:finishedLoadingPlaylistWithFeed:error:)];
}
- (void)loadYoutubeVideosPerPlaylist:(NSString *)urlString
{
GDataServiceGoogleYouTube *service = [self youTubeService];
NSURL *feedURL = [NSURL URLWithString:urlString];
NSLog(@"loadYoutubeVideosPerPlaylist URL: %@", feedURL);
[service fetchFeedWithURL:feedURL
delegate:self
didFinishSelector:@selector(request:finishedLoadingYoutubeVideosPerPlaylistWithFeed:error:)];
}
そしてここにYoutubeのリクエストがあります。
#pragma mark - Youtube Requests
- (void)request:(GDataServiceTicket *)ticket finishedLoadingYoutubeWithFeed:(GDataFeedBase *)aFeed error:(NSError *)error
{
}
- (void)request:(GDataServiceTicket *)ticket finishedLoadingPlaylistWithFeed:(GDataFeedBase *)aFeed error:(NSError *)error
{
if (kGDataYouTubeUserFeedIDPlaylists) {
self.playlistFeed = (GDataFeedYouTubeVideo *)aFeed;
NSArray *feedArray = [self.playlistFeed entries];
for (int i = 0; i < [feedArray count]; i++) {
GDataEntryBase *entry = [[self.playlistFeed entries] objectAtIndex:i];
NSString *title = [[entry title] stringValue];
[playlist addObject:NSLocalizedString(title, @"playlistTitle")];
NSLog(@"%@", [[entry content] sourceURI]);
[videoPlaylistURLArray addObject:[[entry content] sourceURI]];
}
}
if (!error) {
[self addMenuButtons];
[self setPlaylistIndex:0];
[SVProgressHUD showSuccessWithStatus:@"Success!"];
}else{
[SVProgressHUD showErrorWithStatus:@"Failed Fetching Playlist."];
}
}
- (void)request:(GDataServiceTicket *)ticket finishedLoadingYoutubeVideosPerPlaylistWithFeed:(GDataFeedBase *)aFeed error:(NSError *)error
{
self.feed = (GDataFeedYouTubeVideo *)aFeed;
[self.youtubeTable reloadData];
}