Это сообщение мне очень помогло:
Как отключить комментарии и оценки с помощью API YouTube asp.net
Мне пришлось изменитькод для добавления нулевой проверки для списка атрибутов:
private Video SetAcessControl(Video video, string type, string permission)
{
var exts = video.YouTubeEntry.ExtensionElements
.Where(x => x is XmlExtension)
.Select(x => x as XmlExtension)
.Where(x => x.Node.Attributes != null && x.Node.Attributes["action"] != null && x.Node.Attributes["action"].InnerText == type);
var ext = exts.FirstOrDefault();
if (ext != null) ext.Node.Attributes["permission"].InnerText = permission;
return video;
}
Затем, чтобы использовать его:
YouTubeRequest request = CreateYouTubeRequest(configuration);
Uri youTubeUrl = new Uri(string.Format("http://gdata.youtube.com/feeds/api/users/default/uploads/{0}", youTubeVideoId));
Video video = request.Retrieve<Video>(youTubeUrl);
video = SetAcessControl(video, "list", "denied"); // removes the video from searches, thus making it Unlisted (what you're looking for)
video = SetAcessControl(video, "comment", "denied"); // disables comments
video = SetAcessControl(video, "commentVote", "denied"); // disables voting on comments
video = SetAcessControl(video, "videoRespond", "denied"); // disables video responses
video = SetAcessControl(video, "rate", "denied"); // disables rating
Video updatedVideo = request.Update(video);
Очень важно отметить, что это не может быть применено к видеовы загружаете (то есть вы не можете применить его к новому Video () перед вызовом request.pload (video). Вам нужно подождать до завершения процесса загрузки, чтобы сработал этот код.
Чтобы увидеть полный список элементов, которые вы можете отключить с помощью этого метода, смотрите этот URL: http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:accessControl
Надеюсь, это поможет!