2015-10-16 5 views
2

J'essaie de rechercher les vidéos non répertoriées qui sont présentes sur ma chaîne YouTube. J'ai essayé avec le code ci-dessous, bu j'ai fini dans la recherche des vidéos publiques seulement .. Les vidéos non répertoriées n'ont pas été recherchées .. Quelqu'un peut-il aider avec cela.rechercher une vidéo non répertoriée dans ma propre chaîne en utilisant l'API C# code

 var searchListRequest = youtubeService.Search.List("snippet"); 
     searchListRequest.Q = "My Video Name"; // Replace with your search term. 
     searchListRequest.ChannelId = "My Channel ID"; 
     searchListRequest.MaxResults = 50; 


     // Call the search.list method to retrieve results matching the specified query term. 
     var searchListResponse = await searchListRequest.ExecuteAsync(); 

     List<string> videos = new List<string>(); 
     List<string> channels = new List<string>(); 
     List<string> playlists = new List<string>(); 

     // Add each result to the appropriate list, and then display the lists of 
     // matching videos, channels, and playlists. 
     foreach (var searchResult in searchListResponse.Items) 
     { 
      switch (searchResult.Id.Kind) 
      { 
       case "youtube#video": 
        // if (searchResult.Id.VideoId == "pavY4SCQ4uY")    
        videos.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.VideoId)); 
        break; 

       case "youtube#channel": 
        channels.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.ChannelId)); 
        break; 

       case "youtube#playlist": 
        playlists.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.PlaylistId)); 
        break; 
      } 
     } 

     Console.WriteLine(String.Format("Videos:\n{0}\n", string.Join("\n", videos))); 
     Console.WriteLine(String.Format("Channels:\n{0}\n", string.Join("\n", channels))); 
     Console.WriteLine(String.Format("Playlists:\n{0}\n", string.Join("\n", playlists))); 
    } 

Répondre

0

En supposant que vous soyez authentifié à l'aide de Oauth2 et que vous n'utilisez pas de clé API publique. Vous pouvez ajouter forMine à votre demande et récupérer uniquement vos vidéos.

forMine Boolean
Ce paramètre ne peut être utilisé dans une requête correctement autorisée. Le paramètre forMine limite la recherche à seulement pour récupérer des vidéos appartenant à l'utilisateur authentifié. Si vous définissez ce paramètre sur true, la valeur du paramètre type doit également être définie sur vidéo.

1

Vous devriez vous authentifier avec OAuth2 pour obtenir vos propres vidéos. également pour obtenir des vidéos dans un canal utilisent

1) méthode channels.list() puis chercher contentDetails.relatedPlaylists.uploads

2) playlistItems.list avec ce playlistId.

Cela entraînera 2 quotas vs 100 quotas dans une requête de recherche.

(Lorsque vous recherchez votre propre canal au lieu de channelId, utilisez simplement mine = true dans la méthode channels.list)