2014-07-24 2 views
0

YouTube 3.0 API를 사용하여 채널의 가장 인기 있거나 최신 인 동영상을 이름으로 나열하려고합니다.채널 이름으로 가장 인기있는 동영상 가져 오기

이미 구현 했으므로 올바른 방법인지 확실하지 않으므로 조언이 필요합니다.

https://www.googleapis.com/youtube/v3/search?part=snippet&type=channel&q={channel_name}&key={API_KEY} 

가 그럼 난 viewCount (또는 date)에 의해 주문이 채널 ID의 영상을 얻을 완벽하게 비디오를 나열 I의

먼저 이름으로 채널 ID ({channel_name} 대신에 예를 들어 TEDxTalks를) 찾을 수 있습니다 :

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={channel_id}&order=viewCount&type=video&key={API_KEY} 

첫 번째 요청은 얼마나 신뢰할 수 있습니까? name이 채널 URL 슬러그 또는 사용자 이름 (예 : tedxtalks)과 정확히 일치하는 경우 항상 해당 채널을 반환합니까? 아니면 이름으로 채널 ID를 얻을 수있는 더 신뢰할 수있는 방법이 있습니까?

감사합니다.

답변

1

검색 API는 완전 일치 검색어가 아닙니다. 그리고 모든 채널 제목 ​​(존재하는 경우 URL에서 찾은 사용자 이름), 채널 이름 (xxx는 1 비디오 추가) 및 심지어 채널 ID를 검색합니다!

질문에 대답하기 위해 불행히도 신뢰할 수없고 더 신뢰할 수있는 방법이 없습니다.

빠른 예를 들어 사용자 이름 "abc"를 쿼리 해보십시오.

https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&q=abc&type=channel&key= {YOUR_API_KEY}

검색의 API 응답 등 udruzenjeabc ABCNetwork, ABCNews을 반환 ... 것이다. 처음 50 개 항목에는 channelTitle (사용자 이름) "abc"가 없습니다.

모든 채널에 사용자 이름이있는 것은 아니지만. 특정 채널의 사용자 이름을 가지고 있다면, 당신은

https://www.googleapis.com/youtube/v3/channels?part=snippet&forUsername=abc&maxResults=5&key= {YOUR_API_KEY}

유튜브 API는 "채널 이름"(대한 정확한 검색을 제공하지 않는 이유 당신은 궁금 할 것이다 XXX, 정확히 일치하는 쿼리에 대한 채널 API를 사용한다 1 비디오 추가)? 이는 사람 이름이 고유하지 않기 때문에 채널 이름이 고유하지 않기 때문입니다.

https://developers.google.com/youtube/v3/guides/working_with_channel_ids에 표시된 바와 같이 :

당신이 V3를 사용하고 는 현재 인증 된 사용자에 해당하는 채널 ID를 검색 할 경우, 당신은 = "아이디"부분합니다 ( 하고 channels.list를 호출 할 수 있습니다 , mine = true) 메소드. 이는 v2에서 기본 사용자의 채널 프로필을 묻는 과 같습니다.

당신이 이제까지 당신이 API의 V3를 사용하여 채널 ID로 번역 할 필요가 임의의 기존 YouTube 사용자 이름 자신을 찾을 수없는 경우, 당신은 하고 channels.list을 할 수 있습니다 (일부 = "ID", forUsername = " username ")은 API를 호출합니다.

표시 이름 만 알고 해당 채널을 찾으려면 search.list (part = "snippet", type = "channel", q = "표시 이름") 방법이 검색됩니다. 능숙한.표시 이름이 고유하지 않으므로 에있는 하나 이상의 항목을 응답으로 회신 할 가능성을 처리하려면 을 준비해야합니다. 유튜브는 모든 (페이스 북, 예를 들어 zuck.5 및 zuck.21 중복 된 이름의 끝에서 임의의 번호를 추가하는 방법 등) 고유 읽을 수있는 사용자 이름을 생성하기 위해 강요하지 않았는지 마지막으로

, 난 아무 생각이 없다 새로운 사용자.

참고 :

  1. https://developers.google.com/youtube/v3/docs/search/list

  2. https://developers.google.com/youtube/v3/docs/channels/list#try-it

  3. https://support.google.com/youtube/answer/2657968?hl=en

  4. https://developers.google.com/youtube/v3/guides/working_with_channel_ids

+0

알았어. 채널 ID에만 의존 할 수 있습니다. 이렇게 완전한 답장을 보내 주셔서 대단히 감사합니다. 사용자에게 채널 ID를 입력하도록 요청하는 것은 사용자에게 친숙하지 않습니다. 모든 채널을 나열하기 위해서'search? type = channel? q = {name}'을 사용하고 사용자가 원하는 채널을 선택하도록 요청할 것입니다. –