iOS:使用YouTube Gdata API检索整个YouTube播放列表(所有视频)

时间:2013-03-28 10:10:27

标签: ios youtube-api gdata gdata-api

我已经设法在iPhone项目中使用GData。 我还设法获得所有上传视频和所有播放列表名称。

参考项目:YouTubeList

我需要获取播放列表的所有链接,以便在按下单元格时显示视频(您可以看到它在我添加的项目中的工作原理)

以下是一些代码,我得到了播放列表名称:

    // get the youtube service
    GDataServiceGoogleYouTube *service = [self youTubeService];

    // feed id for user playlist
    NSString *uploadsID = kGDataYouTubeUserFeedIDPlaylists;
    // construct the feed url
    NSURL *feedURL = [GDataServiceGoogleYouTube youTubeURLForUserID:kGDataServiceDefaultUser
                                                         userFeedID:uploadsID];
    // make API call
    [service fetchFeedWithURL:feedURL
                     delegate:self
            didFinishSelector:@selector(request:finishedWithFeed:error:)];

    [super viewDidLoad];
}

- (void)request:(GDataServiceTicket *)ticket
finishedWithFeed:(GDataFeedBase *)aFeed
          error:(NSError *)error {

    self.feed = (GDataFeedYouTubeVideo *)aFeed;
    NSLog(@"FEED:%@", [self.feed entries]);
    [self.tableView reloadData];
}

上面的代码会显示我在帐户中的所有播放列表的列表。 我需要获取特定播放列表的视频

1 个答案:

答案 0 :(得分:0)

我已修好以下内容:

在viewDidLoad

NSURL *feedURL = [NSURL URLWithString:@"http://gdata.youtube.com/feeds/api/playlists/PlayList_ID"];
// make API call

[service fetchFeedWithURL:feedURL
                    delegate:self
                    didFinishSelector:@selector(playlistTicket:finishedWithFeed:error:)];

然后,方法:

- (void)playlistTicket:(GDataServiceTicket *)ticket finishedWithFeed:(GDataFeedYouTubePlaylist *)feed error:(NSError *)error {
  if(!error)
   {
       // save the feed and reload the table
       self.feed = feed;
       [self.tableView reloadData];
   }
}