龙岩网站建设行情,wordpress 文章内容不显示,玩具网站 下载,个人宽带 架设网站需备案在本教程中#xff0c;我将介绍Google的YouTube API #xff0c;该API可让您使用YouTube的功能来启用应用程序。 YouTube是“杀手级”互联网应用程序之一#xff0c;其流量占互联网总流量的很大一部分。 在开始之前#xff0c;请确保您已阅读《 API概述指南》 。 我们将主… 在本教程中我将介绍Google的YouTube API 该API可让您使用YouTube的功能来启用应用程序。 YouTube是“杀手级”互联网应用程序之一其流量占互联网总流量的很大一部分。 在开始之前请确保您已阅读《 API概述指南》 。 我们将主要处理Data API 它使您可以执行YouTube网站上的许多操作搜索视频检索标准供稿查看相关内容等。 该API有多种编程语言我们将在本教程中使用Java。 阅读Java Developers Guide以获得第一个想法。 还要为Google Data API JavaDoc页面添加书签。 让我们准备开发环境。 首先从相应的下载部分下载GData Java客户端 。 我将在本教程中使用1.41.2版本 。 请注意还有一个版本2但根据站点的情况它是实验性的与版本1不兼容。 解压缩压缩文件找到文件夹“ gdata \ java \ lib”并将以下JAR包含到应用程序的类路径中 数据客户端1.0.jar gdata-youtube-2.0.jar gdata-core-1.0.jar gdata-media-1.0.jar 接下来我们必须照顾依赖性。 依赖包列表可以在这里找到。 包含JavaMail API以提供媒体支持。 可以在这里下载。 需要“ mail.jar”。 GData客户端还在内部使用Google Collections Library 。 我下载了1.0最终版本 。 需要“ google-collect-1.0.jar”。 确保上述所有JAR文件都包含在项目的类路径中。 请注意所有公共提要都是只读的不需要任何身份验证。 另一方面已验证的操作是那些包括检索私人供稿例如用户的收件箱供稿以及写入上载更新和删除操作的操作。 您将需要注册开发人员密钥才能执行经过身份验证的操作。 但是本教程不需要密钥。 现在基础架构已经准备就绪让我们来谈谈API。 我们将使用的主要类是YouTubeService类。 这使您可以执行与浏览YouTube网页时类似的搜索查询。 每个查询均由YouTubeQuery实例表示。 每个查询的结果如果有以VideoFeed对象的形式出现。 从每个提要中可以检索许多VideoEntry对象。 从VideoEntry中我们提取一个YoutTubeMediaGroup对象。 您可以将此类想象为媒体信息的占位符请参阅“ Media RSS”规范 。 然后我们检索相应的MediaPlayer 最后检索播放器URL。 我们还可以通过MediaThumbnail类获取有关随附缩略图的信息。 让我们开始使用代码。 首先我们创建两个模型类这些类将用于保存有关提要和视频的信息。 第一个称为YouTubeMedia它包含媒体内容URL和媒体内容类型。 第二个名为YouTubeVideo其中包含有关特定视频的所有信息URL嵌入式播放器URL缩略图和YoutTubeMedia实例。 这些的源代码如下 package com.javacodegeeks.youtube.model;public class YouTubeMedia {private String location;private String type;public YouTubeMedia(String location, String type) {super();this.location location;this.type type;}public String getLocation() {return location;}public void setLocation(String location) {this.location location;}public String getType() {return type;}public void setType(String type) {this.type type;} }package com.javacodegeeks.youtube.model;import java.util.List;public class YouTubeVideo {private ListString thumbnails;private ListYouTubeMedia medias;private String webPlayerUrl;private String embeddedWebPlayerUrl;public ListString getThumbnails() {return thumbnails;}public void setThumbnails(ListString thumbnails) {this.thumbnails thumbnails;}public ListYouTubeMedia getMedias() {return medias;}public void setMedias(ListYouTubeMedia medias) {this.medias medias;}public String getWebPlayerUrl() {return webPlayerUrl;}public void setWebPlayerUrl(String webPlayerUrl) {this.webPlayerUrl webPlayerUrl;}public String getEmbeddedWebPlayerUrl() {return embeddedWebPlayerUrl;}public void setEmbeddedWebPlayerUrl(String embeddedWebPlayerUrl) {this.embeddedWebPlayerUrl embeddedWebPlayerUrl;}public String retrieveHttpLocation() {if (mediasnull || medias.isEmpty()) {return null;}for (YouTubeMedia media : medias) {String location media.getLocation();if (location.startsWith(http)) {return location;}}return null;}} 最后介绍了YouTubeManager类。 它可用于执行搜索查询并返回YouTubeVideo模型类的实例以及所有相关信息。 它还会创建适当的嵌入式Web播放器URL 。 这是该类的代码 package com.javacodegeeks.youtube;import java.net.URL;
import java.util.LinkedList;
import java.util.List;import com.google.gdata.client.youtube.YouTubeQuery;
import com.google.gdata.client.youtube.YouTubeService;
import com.google.gdata.data.media.mediarss.MediaThumbnail;
import com.google.gdata.data.youtube.VideoEntry;
import com.google.gdata.data.youtube.VideoFeed;
import com.google.gdata.data.youtube.YouTubeMediaContent;
import com.google.gdata.data.youtube.YouTubeMediaGroup;
import com.javacodegeeks.youtube.model.YouTubeMedia;
import com.javacodegeeks.youtube.model.YouTubeVideo;public class YouTubeManager {private static final String YOUTUBE_URL http://gdata.youtube.com/feeds/api/videos;private static final String YOUTUBE_EMBEDDED_URL http://www.youtube.com/v/;private String clientID;public YouTubeManager(String clientID) {this.clientID clientID;}public ListYouTubeVideo retrieveVideos(String textQuery, int maxResults, boolean filter, int timeout) throws Exception {YouTubeService service new YouTubeService(clientID);service.setConnectTimeout(timeout); // millisYouTubeQuery query new YouTubeQuery(new URL(YOUTUBE_URL));query.setOrderBy(YouTubeQuery.OrderBy.VIEW_COUNT);query.setFullTextQuery(textQuery);query.setSafeSearch(YouTubeQuery.SafeSearch.NONE);query.setMaxResults(maxResults);VideoFeed videoFeed service.query(query, VideoFeed.class); ListVideoEntry videos videoFeed.getEntries();return convertVideos(videos);}private ListYouTubeVideo convertVideos(ListVideoEntry videos) {ListYouTubeVideo youtubeVideosList new LinkedListYouTubeVideo();for (VideoEntry videoEntry : videos) {YouTubeVideo ytv new YouTubeVideo();YouTubeMediaGroup mediaGroup videoEntry.getMediaGroup();String webPlayerUrl mediaGroup.getPlayer().getUrl();ytv.setWebPlayerUrl(webPlayerUrl);String query ?v;int index webPlayerUrl.indexOf(query);String embeddedWebPlayerUrl webPlayerUrl.substring(indexquery.length());embeddedWebPlayerUrl YOUTUBE_EMBEDDED_URL embeddedWebPlayerUrl;ytv.setEmbeddedWebPlayerUrl(embeddedWebPlayerUrl);ListString thumbnails new LinkedListString();for (MediaThumbnail mediaThumbnail : mediaGroup.getThumbnails()) {thumbnails.add(mediaThumbnail.getUrl());} ytv.setThumbnails(thumbnails);ListYouTubeMedia medias new LinkedListYouTubeMedia();for (YouTubeMediaContent mediaContent : mediaGroup.getYouTubeContents()) {medias.add(new YouTubeMedia(mediaContent.getUrl(), mediaContent.getType()));}ytv.setMedias(medias);youtubeVideosList.add(ytv);}return youtubeVideosList;}} 为了测试我们的类并提供一个示例案例我们创建以下简单的测试类 package com.javacodegeeks.youtube.test;import java.util.List;import com.javacodegeeks.youtube.YouTubeManager;
import com.javacodegeeks.youtube.model.YouTubeVideo;public class YouTubeTester {public static void main(String[] args) throws Exception {String clientID JavaCodeGeeks;String textQuery java code;int maxResults 10;boolean filter true;int timeout 2000;YouTubeManager ym new YouTubeManager(clientID);ListYouTubeVideo videos ym.retrieveVideos(textQuery, maxResults, filter, timeout);for (YouTubeVideo youtubeVideo : videos) {System.out.println(youtubeVideo.getWebPlayerUrl());System.out.println(Thumbnails);for (String thumbnail : youtubeVideo.getThumbnails()) {System.out.println(\t thumbnail);}System.out.println(youtubeVideo.getEmbeddedWebPlayerUrl());System.out.println(************************************);}}} 可以从此处下载本教程的Eclipse项目包括依赖库。 请享用 相关文章 GWT 2 Spring 3 JPA 2 Hibernate 3.5教程 SmartGWT入门提供出色的GWT界面 带有Spring和Maven教程的JAX–WS 使用Spring使用Java发送电子邮件– GMail SMTP服务器示例 Java教程和Android教程列表 翻译自: https://www.javacodegeeks.com/2010/05/getting-started-with-youtube-java-api.html