Youtube Data API - 更新播放列表的说明

时间:2018-01-03 14:04:01

标签: java youtube youtube-data-api

我正在尝试检索所有播放列表视频,然后更新每个视频的说明。代码编译并运行,但描述未在我的视频中更新。任何帮助将不胜感激。我的代码是:

        YouTube youtube = getYouTubeService();

        HashMap<String, String> parameters = new HashMap<>();
        parameters.put("part", "snippet,contentDetails");
        parameters.put("maxResults", "50");
        parameters.put("playlistId", "PLTAcFSSQOSm42iD8uALkNSgu8lJAaiutG");

        //0-50
        YouTube.PlaylistItems.List playlistItemsListByPlaylistIdRequest = youtube.playlistItems().list(parameters.get("part").toString());
        if (parameters.containsKey("maxResults")) {
            playlistItemsListByPlaylistIdRequest.setMaxResults(Long.parseLong(parameters.get("maxResults").toString()));
        }

        if (parameters.containsKey("playlistId") && parameters.get("playlistId") != "") {
            playlistItemsListByPlaylistIdRequest.setPlaylistId(parameters.get("playlistId").toString());
        }

        PlaylistItemListResponse response = playlistItemsListByPlaylistIdRequest.execute();
        for (Iterator iterator = response.getItems().iterator(); iterator.hasNext();) {
            PlaylistItem type = (PlaylistItem) iterator.next();
            System.out.println("Title:");
            System.out.println(type.getSnippet().getTitle());
            System.out.println();
            String desc = type.getSnippet().getDescription();
            desc = desc.replace("\nAsk me A Question", "");
            desc = desc.replace("bit.ly\n", "");     

System.out.println("====================================================");
            PlaylistItemSnippet snippet = type.getSnippet();
            snippet.setDescription(desc);
            PlaylistItem playlistItem = type.setSnippet(snippet);
            System.out.println(playlistItem.getSnippet().getDescription());
        }

1 个答案:

答案 0 :(得分:0)

经过几天的研究。我发现我们只能更新Video对象而不是PlayListItem对象。所以我创建了一个视频对象并设置了它的属性,然后在Video对象的Snippet部分中,可以更新描述。