如何使用YouTube Data API v3欣赏视频

问题描述 投票:0回答:1

我正在使用Java中的YouTube Data API V3,我试图“喜欢”一个视频。我使用以下方法:

private static String insertPlaylistItem(String playlistId, String videoId) throws IOException {

        // Define a resourceId that identifies the video being added to the
        // playlist.
        ResourceId resourceId = new ResourceId();
        resourceId.setKind("youtube#video");
        resourceId.setVideoId(videoId);

        // Set fields included in the playlistItem resource's "snippet" part.
        PlaylistItemSnippet playlistItemSnippet = new PlaylistItemSnippet();
        playlistItemSnippet.setTitle("First video in the test playlist");
        playlistItemSnippet.setPlaylistId(playlistId);
        playlistItemSnippet.setResourceId(resourceId);

        // Create the playlistItem resource and set its snippet to the
        // object created above.
        PlaylistItem playlistItem = new PlaylistItem();
        playlistItem.setSnippet(playlistItemSnippet);

        // Call the API to add the playlist item to the specified playlist.
        // In the API call, the first argument identifies the resource parts
        // that the API response should contain, and the second argument is
        // the playlist item being inserted.
        YouTube.PlaylistItems.Insert playlistItemsInsertCommand =
                youtube.playlistItems().insert("snippet,contentDetails", playlistItem);
        PlaylistItem returnedPlaylistItem = playlistItemsInsertCommand.execute();


    System.out.println("New PlaylistItem name: " + returnedPlaylistItem.getSnippet().getTitle());
    System.out.println(" - Video id: " + returnedPlaylistItem.getSnippet().getResourceId().getVideoId());
    System.out.println(" - Posted: " + returnedPlaylistItem.getSnippet().getPublishedAt());
    System.out.println(" - Channel: " + returnedPlaylistItem.getSnippet().getChannelId());
    return returnedPlaylistItem.getId();

}

上面的方法来自位于此处的官方YouTube示例:https://developers.google.com/youtube/v3/docs/playlists/insert?hl=de#examples

我提示我必须将视频添加到“喜欢”的播放列表中,该播放列表会自动添加该视频。

以下是我如何获得喜欢的播放列表

....
String likesPlaylistId = channelsList.get(0).getContentDetails().getRelatedPlaylists().getLikes();
insertPlaylistItem(likesPlaylistId, "pwi9TAKUMYI" );

如果我喜欢自己上传的视频,那就有效了。但是,如果我想尝试另一个youtuber上传的视频,则会出现以下错误:http://pokit.org/get/?d25a148b2a20d169488cf167d22ad7b0.jpg我将视频视为“喜欢”,但类似的计数器并未增加。没人能看到这样的。谁能告诉我我做错了什么?这是限制吗?或者它是对Bots的预防?

java youtube-api youtube-data-api rating social-media-like
1个回答
0
投票

您是否尝试过实际获得视频评分? (https://developers.google.com/youtube/v3/docs/videos/getRating)。

在喜欢视频之前和之后获得视频的评级,然后您可以验证评级计数是否增加。可能存在图形延迟。

raw api call是:GET https://www.googleapis.com/youtube/v3/videos/getRating?id=pwi9TAKUMYI&key= {YOUR_API_KEY}

© www.soinside.com 2019 - 2024. All rights reserved.