Как отключить комментарии и оценки с помощью API YouTube asp.net - PullRequest
1 голос
/ 09 августа 2010

Любая помощь будет высоко ценится!

Текущий код:

YouTubeRequest request = Connect();
Video video = new Video();

video.Tags.Add(new MediaCategory("Nonprofit", YouTubeNameTable.CategorySchema));
video.Keywords = "Test";
video.YouTubeEntry.setYouTubeExtension("location", "UK");

Ответы [ 3 ]

1 голос
/ 16 августа 2010

Приведенный ниже метод принимает видео 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, обновленные элементы управления доступом отправляются обратно с запросом на обновление.

1 голос
/ 09 августа 2010

Согласно блогу YouTube API, вы делаете это с помощью тега <yt:accessControl>, прочитайте здесь для получения дополнительной информации.

например

<yt:accessControl action='comment' permission='denied'/

YouTube API Blog Disable Комментарии Объявление

0 голосов
/ 11 января 2013

обновить статус видео YouTube с UNLISTED на Public

        YouTubeRequestSettings settings = new YouTubeRequestSettings(_application, _developerkey, _username, _password);
        Uri videoEntryUrl = new Uri("https://gdata.youtube.com/feeds/api/users/default/uploads/" + VideoID); 
        YouTubeRequest Request = new YouTubeRequest(settings); 
        Video Video = Request.Retrieve<Video>(videoEntryUrl);
        List<Google.GData.YouTube.YtAccessControl> AccessControlsArray = Video.YouTubeEntry.AccessControls.ToList();
        foreach (var item in AccessControlsArray)
        {        
            if (item.Attributes["action"].ToString()=="list") 
            { 
                item.Attributes["permission"]= "allowed"; 
            } 
        }

        Video = Request.Update(Video);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...