Приведенный ниже метод принимает видео YouTube, полученное из службы запросов YouTube, а также принимает тип разрешения и новые разрешения.
private Video SetAccessControl(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["action"] != null && x.Node.Attributes["action"].InnerText == type);
var ext = exts.FirstOrDefault();
if (ext != null)
ext.Node.Attributes["permission"].InnerText = permission;
return video;
}
ПРИМЕЧАНИЕ это будет работать только для извлеченного видео, если вы не передадите " new Video () "
что он делает, выполняет итерацию по всем элементам ExtentionElements, которые вы передаете по трубопроводу как часть фида, и извлекает элементы расширения xml (так как отсутствует расширение контроля доступа в c #), берет элементы, соответствующие action == type затем обновляет атрибут permissions до требуемого значения.
Когда запись видео отправляется и обновляется на сервере YouTube, обновленные элементы управления доступом отправляются обратно с запросом на обновление.