Objective-C YouTube API - 从URL创建视频对象



我得到了一个youtube ID列表。对于每个 IDS,我想使用 YouTube API 来获取标题、持续时间和缩略图。然后,我希望用户能够单击这些缩略图,从而将它们带到UIWebView,在那里他们可以观看视频。

我真的坚持如何从 ID 实际创建视频对象。我真的不明白谷歌示例代码中给出的过程,他们根据播放列表获得标题。我不希望它基于播放列表,我希望它基于独立的 ID 或 URL。

使用

播放列表查询,代码使用:

  if ([playlistID length] > 0) {
GTLServiceYouTube *service = self.youTubeService;
GTLQueryYouTube *query = [GTLQueryYouTube queryForPlaylistItemsListWithPart:@"snippet,contentDetails"];
query.playlistId = playlistID;
query.maxResults = 50;
_playlistItemListTicket = [service executeQuery:query
                               completionHandler:^(GTLServiceTicket *ticket,
                                                   GTLYouTubePlaylistItemListResponse *playlistItemList,
                                                   NSError *error) {
   // Callback
   _playlistItemList = playlistItemList;
   _playlistFetchError = error;
   _playlistItemListTicket = nil;
   [self updateUI];
 }];
  }

理解这一点,但是通过GTLQueryYouTube,我看不到与单个视频相关的任何内容。有人有什么想法吗?谢谢!

最终我使用了:

GTLServiceYouTube *service = [[GTLServiceYouTube alloc] init];
// Services which do not require sign-in may need an API key from the
service.APIKey = @"myKey";
GTLQueryYouTube *query = [GTLQueryYouTube queryForVideosListWithPart:@"id, snippet, fileDetails"];
query.identifier = @"xxxxxxxxxx, yyyyyyyyyy";
GTLServiceTicket *ticket = [service executeQuery:query
                               completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
                                   // This callback block is run when the fetch completes
                                   if (error == nil) {
                                       GTLYouTubeSearchListResponse *products = object;
                                       // iteration of items and subscript access to items.
                                       for (GTLYouTubeSearchResult *item in products) {
                                           //NSMutableDictionary *dictionary = [item JSONValueForKey:@"id"];
                                           GTLYouTubeThumbnailDetails *thumbnails = item.snippet.thumbnails;
                                           GTLYouTubeThumbnail *thumbnail = thumbnails.high;
                                           [imageArray addObject:thumbnail.url];
                                           [titleArray addObject:item.snippet.title];
                                           //NSLog(@"id: %@", [dictionary objectForKey:@"videoId"]);
                                           //NSLog(@"Title: %@", item.snippet.title);
                                       }
                                   }else{
                                       NSLog(@"Error: %@", error.description);
                                   }
                                   [self.thumbnailView reloadData];
                               }];

因此,使用逗号分隔的视频ID列表创建了一个查询视频列表与部分

相关内容

  • 没有找到相关文章

最新更新