2017-02-12 3 views
1

Ich versuche, auf meine privaten Videos über die YouTube API zuzugreifen. Ich erhalte zur Zeit einen Fehler, wenn meine App die Anfrage ausführt:Youtube API ungültige Suchanfrage invalidSearchFilter Fehler

"Die Anfrage enthält eine ungültige Kombination von Suchfiltern und/oder Einschränkungen. Beachten Sie, dass Sie den Typparameter auf Video setzen müssen, wenn Sie einen Wert für die Die Parameter eventType, videoCaption, videoCategoryId, videoDefinition, videoDimension, videoDuration, videoEmbeddable, videoLicense, videoSyndicated oder videoType. "

Ich habe ForMine gesetzt, um wahr zu sein, und habe die Type-Eigenschaft auf Video eingestellt, also bin ich mir nicht sicher, warum es nicht funktioniert.

Anfrage Ich bin von Fiedler auf Youtube zu senden:

GET /youtube/v3/search?part=snippet&channelId=XXXXXX&forMine=True&maxResults=1&order=date&type=video HTTP/1.1 
User-Agent: Youtube Sample google-api-dotnet-client/1.21.0.0 (gzip) 
Authorization: XXXXX 
Host: www.googleapis.com 
Accept-Encoding: gzip, deflate 
Connection: Keep-Alive 

Und der Code:

string[] scopes = 
     { 
      YouTubeService.Scope.YoutubeReadonly 
     }; 


     try 
     { 
      var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets { ClientId = clientId, ClientSecret = clientSecret } 
                         , scopes 
                         , "user" 
                         , CancellationToken.None 
                         , new FileDataStore("Youtube.Auth.Store")).Result; 

      var youtubeService = new YouTubeService(new BaseClientService.Initializer 
      { 
       HttpClientInitializer = credential, 
       ApplicationName = "Youtube Sample" 
      }); 

      var searchListRequest = youtubeService.Search.List("snippet"); 
      searchListRequest.MaxResults = 1; 
      searchListRequest.Type = "video"; 
      searchListRequest.ForMine = true; 
      searchListRequest.Order = SearchResource.ListRequest.OrderEnum.Date; 
      searchListRequest.ChannelId = "XXXXX"; 

      var searchListResponse = searchListRequest.Execute(); 

Jede Hilfe würde geschätzt, danke!

Antwort

0

Entweder setzen die forMine: true und type: video ohne ChannelID oder setzen Sie den ChannelID und type: video ohne forMine.

Ich hoffe, es hilft.

+0

Vielen Dank, das hat es behoben! – Jen

Verwandte Themen