如何使用videoID通过Android中的Data API v3.0从youtube检索单个视频的详细信息?
作者:互联网
我的服务器将videoID列表发送给Android.现在,我想在列表视图中显示这些视频的标题,缩略图和评论数量.我已经在网上使用GET请求https://www.googleapis.com/youtube/v3/videos?part=snippet\u0026amp;id={VIDEO_ID}\u0026amp;key={YOUR_API_KEY},但是如何在Android中执行此操作?是否有任何YouTube SDK来初始化YouTube对象?如何使用VideoID从YouTube检索此信息?
编辑:我已经找到了使用YouTube Data API Client Library for Java的方法,但它没有任何解释给出运行时错误.
这是我使用的代码
/**
* Define a global instance of a Youtube object, which will be used
* to make YouTube Data API requests.
*/
private static YouTube youtube;
youtube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(), new HttpRequestInitializer(){
public void initialize(com.google.api.client.http.HttpRequest request) throws IOException {
}
}).setApplicationName("youtube-cmdline-search-sample").build();
// Call the YouTube Data API's videos.list method to retrieve videos.
VideoListResponse videoListResponse = youtube.videos().
list("snippet").setId(videoId).execute();
// Since the API request specified a unique video ID, the API
// response should return exactly one video. If the response does
// not contain a video, then the specified video ID was not found.
List<Video> videoList = videoListResponse.getItems();
if (videoList.isEmpty()) {
System.out.println("Can't find a video with ID: " + videoId);
return;
}
Video video = videoList.get(0)
// Print information from the API response.
}
解决方法:
YouTube提供(至少)两个与您的问题相关的官方图书馆:
> YouTube Android Player API
> YouTube Data API Client Library for Java
顾名思义,第一个库是专为Android平台开发的.它的重点是通过提供播放器框架,使您能够将视频播放功能整合到应用程序中.如果您的目标是让用户只是简单地播放YouTube视频,那么最简单的方法就是实施.请注意,此库需要在设备上安装官方YouTube应用.
第二个库更通用(虽然有separate instructions for using it on Android)并提供了围绕YouTube的Data API的包装器,以便更容易地与它连接.因此,它允许您基本上完成您也可以使用Web API执行的所有操作.因此,它解决了与Android Player API不同的问题,如果您想要完全控制在自己的UI中显示视频数据的方式,则更有可能实现这一目标.
您的第三个选择是完成您为基于Web的解决方案所做的工作:自己进行API调用,解析响应并将相关数据绑定到UI组件.各种网络库(即Retrofit)可以极大地简化这一过程.
标签:android,youtube,youtube-api,youtube-data-api,android-youtube-api 来源: https://codeday.me/bug/20190702/1356864.html