我们使用以下调用来获取经过身份验证的用户的 ChannelID,它适用于大多数情况。一些 YouTube 用户将他们的频道连接到 Google+ 页面,在这种情况下,我们的一位用户失败了。在这种情况下,该调用仅返回与用户用于身份验证的电子邮件帐户相关联的频道 ID,而不是用户拥有的所有频道。
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));
此外,我们通过将 channelID 附加到以下 URL 来构造频道 URL。
http://www.youtube.com/channel/
但是,有些频道使用用户名和路径而不是频道 ID。如何检测类型是user而不是channel?在这种情况下,用户名将附加到以下路径。Google+ 用户的主频道使用此路径和用户名。
http://www.youtube.com/user/