2017-12-11 15 views
0

쿼리를 기반으로 동영상 목록을 반환하는 작은 창 양식 응용 프로그램을 만들고 있습니다. 이 링크를 사용하고 있습니다. https://developers.google.com/youtube/v3/code_samples/dotnet 일부 비디오 소유자의 퍼가기 때문에 퍼가기가 사용 중지 된 경우 비디오를 재생할 때 오류가 발생하는 경우를 제외하고는 모든 것이 올바르게 작동합니다. "다른 비디오에서 재생 비디오 onwer에서 비활성화되었습니다. ".Net youtube data api. 삽입이 사용 중지되었는지 검색 하시겠습니까?

그래서 지금은 그 비디오를 재생할 수있는 방법이 있나요 두 가지 질문

1)가?

2) 첫 번째 질문에 대한 답변이 '아니오'인 경우, 소유자의 퍼가기가 사용 중지 된 동영상을 어떻게 필터링 할 수 있습니까? 내 목록에 해당 비디오를 추가하고 싶지는 않습니다.

감사합니다.

답변

0

감사 :

그리고 사실은 충분히 내가로 embedabble 상태를 가져옵니다. 설명서를 탐색 한 후 마침내 소유주가 퍼가기를 사용할 수없는 비디오를 필터링하는 솔루션을 발견했습니다.

Google.Apis.YouTube.v3.SearchResource.ListRequest.VideoEmbeddableEnum이 트릭을 수행 할 것으로 기대하는 YoutubeService.Search.List 메소드의 VideoEmbeddable 속성이 있습니다.

var searchListRequest = youtubeService.Search.List("snippet"); 
      searchListRequest.Q = ""; // Replace with your search term. 
      searchListRequest.MaxResults = 50; 
      searchListRequest.Type = "video"; 
      searchListRequest.VideoEmbeddable = SearchResource.ListRequest.VideoEmbeddableEnum.True__; 

"비디오"유형을 지정하면 모든 비디오, 재생 목록 및 채널의 비디오가 반환됩니다.

0

official documentation에 따르면 모든 비디오에는 코드로 확인할 수있는 status.embeddable 속성이 있습니다.

+0

답변 주셔서 감사합니다.하지만 .NET에서 status.embeddable을 찾을 수 없습니다. – diamond421

0

status.embedabble은 사용 된 언어와 관계없이 Videos reference에서 사용 된 방법 중 하나가 성공적으로 호출 될 때 응답입니다.

예를 들어 메소드 목록을 사용하는 것이 좋습니다. 설명하기 위해, 나는이 videos.list Try-it에 youtube 비디오를 넣고 "status"를 파트 매개 변수로 지정합니다. 모든 답변을

"items": [ 
    { 
     "kind": "youtube#video", 
     "etag": "\"7991kDR-QPaa9r0pePmDjBEa2h8/7NFYOO88j54fU9aKM8MsjN4zPro\"", 
     "id": "kIBdpFJyFkc", 
     "status": { 
     "uploadStatus": "processed", 
     "privacyStatus": "public", 
     "license": "youtube", 
     "embeddable": true, 
     "publicStatsViewable": true 
     } 
    } 
    ]