Мы используем следующий вызов, чтобы получить ChannelID для аутентифицированного пользователя, и в большинстве случаев он хорошо работает. Некоторые пользователи YouTube подключают свои каналы к странице Google+, и у одного из наших пользователей в этой ситуации это не получается. В этом случае вызов возвращает только идентификатор канала, связанный с учетной записью электронной почты пользователя, используемой для аутентификации, а не со всеми каналами, принадлежащими пользователю.
System.IO.Stream resultStream = service.Query(new Uri("https://www.googleapis.com/youtube/v3/channels?part=id%2Csnippet%2CcontentDetails%2Cstatistics%2CtopicDetails&mine=true&key=" + GlobalSettings.developerKey));
Кроме того, мы создаем URL-адрес канала, добавляя идентификатор канала к следующему URL-адресу.
http://www.youtube.com/channel/
Однако некоторые каналы используют имя пользователя и путь вместо идентификатора канала. Как определить, что типом является пользователь, а не канал? В этом случае имя пользователя добавляется к следующему пути. Основной канал пользователя Google+ использует этот путь с именем пользователя.
http://www.youtube.com/user/