com.google.api.services.youtube.model.VideoSnippet Java Examples
The following examples show how to use
com.google.api.services.youtube.model.VideoSnippet.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: YoutubeVideoDeserializer.java From streams with Apache License 2.0 | 6 votes |
/** * Given the raw JsonNode, construct a video snippet object. * @param node JsonNode * @return VideoSnippet */ private VideoSnippet buildSnippet(JsonNode node) { VideoSnippet snippet = new VideoSnippet(); JsonNode snippetNode = node.get("snippet"); snippet.setChannelId(snippetNode.get("channelId").asText()); snippet.setChannelTitle(snippetNode.get("channelTitle").asText()); snippet.setDescription(snippetNode.get("description").asText()); snippet.setTitle(snippetNode.get("title").asText()); snippet.setPublishedAt(new DateTime(snippetNode.get("publishedAt").get("value").asLong())); ThumbnailDetails thumbnailDetails = new ThumbnailDetails(); for (JsonNode t : snippetNode.get("thumbnails")) { Thumbnail thumbnail = new Thumbnail(); thumbnail.setHeight(t.get("height").asLong()); thumbnail.setUrl(t.get("url").asText()); thumbnail.setWidth(t.get("width").asLong()); thumbnailDetails.setDefault(thumbnail); } snippet.setThumbnails(thumbnailDetails); return snippet; }
Example #2
Source File: PlaylistCardAdapter.java From wmn-safety with MIT License | 5 votes |
@Override public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) { if (mPlaylistVideos.size() == 0) { return; } final Video video = mPlaylistVideos.get(position); final VideoSnippet videoSnippet = video.getSnippet(); holder.mTitleText.setText(videoSnippet.getTitle()); Picasso.with(holder.mContext) .load(videoSnippet.getThumbnails().getHigh().getUrl()) .placeholder(R.drawable.video_placeholder) .into(holder.mThumbnailImage); holder.mThumbnailImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(view.getContext(),PlayerActivity.class); intent.putExtra("videoID",video.getId()); holder.mContext.startActivity(intent); } }); if (mListener != null) { final String nextPageToken = mPlaylistVideos.getNextPageToken(); if (!isEmpty(nextPageToken) && position == mPlaylistVideos.size() - 1) { holder.itemView.post(new Runnable() { @Override public void run() { mListener.onLastItem(holder.getAdapterPosition(), nextPageToken); } }); } } }
Example #3
Source File: YouTubeSubscriptionServiceImpl.java From JuniperBot with GNU General Public License v3.0 | 5 votes |
@Override protected WebhookMessage createMessage(Video video, YouTubeConnection connection) { MapPlaceholderResolver resolver = new MapPlaceholderResolver(); resolver.put("channel", video.getSnippet().getChannelTitle()); resolver.put("video", video.getSnippet().getTitle()); resolver.put("link", getVideoUrl(video.getId())); String announce = connection.getAnnounceMessage(); if (StringUtils.isBlank(announce)) { announce = getMessage(connection, "discord.youtube.announce"); } String content = PLACEHOLDER.replacePlaceholders(announce, resolver); WebhookMessageBuilder builder = new WebhookMessageBuilder() .setContent(content); if (connection.isSendEmbed()) { WebhookEmbedBuilder embedBuilder = new WebhookEmbedBuilder(); VideoSnippet snippet = video.getSnippet(); embedBuilder.setAuthor(new WebhookEmbed.EmbedAuthor(snippet.getChannelTitle(), connection.getIconUrl(), getChannelUrl(snippet.getChannelId()))); if (snippet.getThumbnails() != null && snippet.getThumbnails().getMedium() != null) { embedBuilder.setImageUrl(snippet.getThumbnails().getMedium().getUrl()); } embedBuilder.setDescription(CommonUtils.mdLink(snippet.getTitle(), getVideoUrl(video.getId()))); embedBuilder.setColor(Color.RED.getRGB()); if (snippet.getPublishedAt() != null) { embedBuilder.setTimestamp(Instant.ofEpochMilli(snippet.getPublishedAt().getValue())); } builder.addEmbeds(embedBuilder.build()); } return builder.build(); }
Example #4
Source File: YouTubeVideo.java From youtube-comment-suite with MIT License | 4 votes |
/** * Used for refreshing * * @param item YouTube video object with snippet and statistics parts present */ public YouTubeVideo(Video item) { super(item.getId(), item.getSnippet().getTitle(), item.getSnippet().getThumbnails().getMedium().getUrl()); setTypeId(YType.VIDEO); if (item.getSnippet() != null) { VideoSnippet snippet = item.getSnippet(); this.channelId = snippet.getChannelId(); this.description = snippet.getDescription(); this.published = snippet.getPublishedAt().getValue(); } else { logger.warn("Video snippet is null"); } if (item.getStatistics() != null) { VideoStatistics stats = item.getStatistics(); this.viewCount = Optional.ofNullable(stats.getViewCount()) .orElse(BigInteger.ZERO) .longValue(); // Likes and dislikes may be disabled on the video this.likes = Optional.ofNullable(stats.getLikeCount()) .orElse(BigInteger.ZERO) .longValue(); this.dislikes = Optional.ofNullable(stats.getDislikeCount()) .orElse(BigInteger.ZERO) .longValue(); // When comments are disabled, this value will be null on the video. // responseCode should also be 403 when when comment threads are grabbed during refresh. this.comments = Optional.ofNullable(stats.getCommentCount()) .orElse(BigInteger.ZERO) .longValue(); } else { logger.warn("Video statistics is null"); } this.refreshedOn = System.currentTimeMillis(); }
Example #5
Source File: YouTubeVideo.java From SkyTube with GNU General Public License v3.0 | 4 votes |
/** * Constructor. */ public YouTubeVideo(Video video) { this.id = video.getId(); VideoSnippet snippet = video.getSnippet(); if (snippet != null) { this.title = snippet.getTitle(); this.channel = new YouTubeChannel(snippet.getChannelId(), snippet.getChannelTitle()); setPublishDate(snippet.getPublishedAt()); if (snippet.getThumbnails() != null) { Thumbnail thumbnail = snippet.getThumbnails().getHigh(); if (thumbnail != null) { this.thumbnailUrl = thumbnail.getUrl(); } thumbnail = snippet.getThumbnails().getMaxres(); if (thumbnail != null) { this.thumbnailMaxResUrl = thumbnail.getUrl(); } } this.language = snippet.getDefaultAudioLanguage() != null ? snippet.getDefaultAudioLanguage() : (snippet.getDefaultLanguage()); this.description = snippet.getDescription(); } if (video.getContentDetails() != null) { setDuration(video.getContentDetails().getDuration()); setIsLiveStream(); setDurationInSeconds(video.getContentDetails().getDuration()); } VideoStatistics statistics = video.getStatistics(); if (statistics != null) { setLikeDislikeCount(statistics.getLikeCount() != null ? statistics.getLikeCount().longValue() : null, statistics.getDislikeCount() != null ? statistics.getDislikeCount().longValue() : null); setViewCount(statistics.getViewCount()); } }