Youtube API:VideoEntry更新不起作用

时间:2013-05-22 08:51:43

标签: java youtube-api

我使用YouTube Java API并希望更改从Feed here

检索到的上传视频的隐私设置

这就是我尝试将视频设为私有的方式:

XmlBlob xmlBlob = entry.getXmlBlob();
xmlBlob.setBlob("<yt:private/>");
entry.setXmlBlob(xmlBlob);
entry.update();

它不起作用。我做错了什么?

非常感谢!

2 个答案:

答案 0 :(得分:0)

好的,

我明白了。

这是您应该将视频设置为私有的方式:

private void setPrivateState(VideoEntry entry) throws Exception {
    YouTubeMediaGroup mediaGroup = entry.getMediaGroup();
    mediaGroup.setPrivate(true);
    entry.update();
}

这就是你可以将视频设置为公开的方式:

private void setPublicState(VideoEntry entry) throws Exception {
    YouTubeMediaGroup mediaGroup = entry.getMediaGroup();
    if (mediaGroup.isPrivate()) {
        System.out.println("Video is private");
        mediaGroup.setPrivate(false);
    }

    XmlBlob entryBlob = entry.getXmlBlob();
    entryBlob.setBlob("<yt:accessControl action='list' permission='allowed'/>");
    entry.setXmlBlob(entryBlob);
    entry.update();
}

这就是如何设置您的视频不公开:

private void setUnlistedState(VideoEntry entry) throws Exception {
    YouTubeMediaGroup mediaGroup = entry.getMediaGroup();
    if (mediaGroup.isPrivate()) {
        System.out.println("Video is private");
        mediaGroup.setPrivate(false);
    }

    XmlBlob xmlBlob = entry.getXmlBlob();
    xmlBlob.setBlob("<yt:accessControl action='list' permission='denied'/>");
    entry.setXmlBlob(xmlBlob);
    entry.update();
}

答案 1 :(得分:0)

我强烈建议使用YouTube Data API v3,因为它是受支持的版本。然后,您可以使用最近的client librariesexamples