채널 ID 사용

Jeff Posnick, YouTube 개발자 관계 – 2013년 6월

Google+ 프로필은 YouTube 채널에 연결할 수 있는 기능이 1년 넘게 제공되어 왔으며 YouTube에서는 해당 프로필 연결로 인해 Data API v2 응답 중 일부가 어떻게 변경되었는지 블로그에 게시해 왔습니다. 최근에는 기존의 YouTube 사용자 이름이 없는 새로운 YouTube 채널을 만들 수 있게 되었습니다. 이러한 채널은 Google+ 프로필로만 식별됩니다. 블로그 게시물에서 상당 부분의 정보가 여전히 적용되지만, 이 추가적인 기능은 YouTube 채널에 대한 몇 가지 기본적인 가정을 무효화합니다. 예를 들어 각 채널은 항상 고유한 YouTube 사용자 이름과 연결되어 있기 때문에 모든 종류의 채널에 사용할 수 있는 코드를 작성하기 위한 몇 가지 추가 권장사항을 알려드립니다.

Data API v3의 채널 ID

채널과 함께 작동하는 모든 v3 작업은 이러한 채널을 식별하는 수단으로 채널 ID만 사용합니다. 특정 YouTube 사용자 채널의 ID는 API v2와 v3에서 동일하므로 버전 간 이전이 용이합니다. 이처럼 채널 ID를 완전히 의존하게 된 개발자들은 이전에는 YouTube 사용자 이름을 API 메서드에 전달하는 데 익숙한 개발자들에게는 당황스러울 수 있지만, v3는 기존 사용자 이름이 있는 채널과 없는 채널을 동일하게 처리하도록 설계되어 모든 곳에서 채널 ID를 사용합니다.

v3를 사용 중이고 현재 승인된 사용자에 해당하는 채널 ID를 검색하려면 channels.list(part="id", mine=true) 메서드를 호출하면 됩니다. v2에서 default 사용자의 채널 프로필을 요청하는 것과 동일합니다.

API v3을 사용하여 채널 ID로 변환해야 하는 임의의 기존 YouTube 사용자 이름이 있다면 API에 channels.list(part="id", forUsername="username") 호출을 수행합니다.

표시 이름만 알고 있고 상응하는 채널을 찾으려는 경우 search.list(part="snippet", type="channel", q="display name") 메서드를 사용하면 편리합니다. 표시 이름은 고유하지 않기 때문에 응답에 한 개 이상의 항목이 반환되는 호출이 발생하는 경우에 대처할 방법을 준비해 두어야 합니다.

Data API v2의 채널 ID

참고: YouTube Data API (v2)는 2014년 2월 26일부터 지원 중단되었으며 API는 사용 중지되었습니다. v2 API를 계속 사용하는 애플리케이션은 v3 API로 즉시 마이그레이션해야 합니다.

기존의 Data API v2를 사용하는 개발자를 위한 가장 중요한 사항은 모든 YouTube 채널이 고유한 사용자 이름을 갖고 있지 않다는 점입니다. 다행히 모든 YouTube 채널은 <yt:channelId> 태그의 값으로 표현되는 연결된 고유한 채널 ID를 갖고 있으므로, 사용자 이름 대신 이 값을 사용하는 것이 좋습니다. 예를 들어 YouTube 사용자 이름을 채널 관련 정보에 매핑하는 데이터베이스가 있는 경우 이전 항목은 계속 작동합니다. (기존 채널의 사용자 이름은 그대로 유지됩니다.) 하지만 시간이 지남에 따라 사용자 이름으로 고유하게 식별할 수 없는 채널로 작업해야 할 경우가 많아집니다.

몇 가지 요인으로 사용자 이름에서 채널 ID로의 전환이 간소화됩니다. 첫째, Data API v2는 YouTube 사용자 이름을 허용하는 모든 요청 URL의 채널 ID를 허용합니다. 즉, 채널 ID를 기존 코드로 원활하게 전환할 수 있습니다. 예를 들어 UC_x5XG1OV2P6uZZ5FSM9Ttw는 기존 사용자 이름 GoogleDevelopers이 있는 채널의 채널 ID이므로 다음 두 URL은 동일한 API 요청입니다.

https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1
https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1

또한 인증된 v2 요청을 하는 경우 요청 URL을 구성할 때 인증된 채널의 사용자 이름을 사용하지 않아도 됩니다. 사용자 이름 (또는 채널 ID) 대신 항상 default 값을 사용할 수 있습니다. 예를 들어 현재 승인된 사용자의 동영상 업로드 피드를 가져오려면 https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1에서 검색하면 됩니다.