2016-06-17 90 views
0

我正在使用youtube api-samples java代码按ID列出视频。我使用了Topics.java文件,但它提供了多于一个的结果,其中包含正确的结果。此外,它不适用视频ID(当我打印视频ID时,视频ID为0),所以我也给了搜索词的视频ID。以下是输入和输出的屏幕截图。YouTube数据API列表视频ID

enter image description here

我试图做到的,是得到一个确切的结果像它是如何工作的YouTube Data API code snippet给出的视频ID。

我运行了错误的代码还是输入错误?请指教。

更新:文件VideoLocalizations.java抛出的“语言”空指针异常 enter image description here

回答

1

Topics.java文件演示-ING的Topics API,我认为这是不是你想要做的更多。

要简单了解视频ID的详细信息,请查看Videos.list。您可以使用页面底部的API浏览器创建基本请求,例如

GET https://www.googleapis.com/youtube/v3/videos? 
    part=id%2Csnippet&id=5vY8EWokf40&key={YOUR_API_KEY} 

...返回:

{ 
"kind": "youtube#videoListResponse", 
"etag": "\"5g01s4-wS2b4VpScndqCYc5Y-8k/v-nx5E3jmblZ7cA3yNCjAAKmywQ\"", 
"pageInfo": { 
    "totalResults": 1, 
    "resultsPerPage": 1 
}, 
"items": [ 
    { 

    "kind": "youtube#video", 
    "etag": "\"5g01s4-wS2b4VpScndqCYc5Y-8k/rsLwePwmFcmdkMVDPrQB20sLp1Q\"", 
    "id": "5vY8EWokf40", 
    "snippet": { 
    "publishedAt": "2015-06-27T03:02:46.000Z", 
    "channelId": "UCz0Am9KlCDydaIifIL16hfw", 
    "title": "Hajar Film - Sirin Hamsho | فيلم هاجر - سيرين حمشو", 
... 

要做到这一点在Java中,看看在同一页上的示例部分。基本上,您需要创建一个com.google.api.services.youtube.YouTube对象,请拨打videos().list(),并处理VideoListResponse

望着JAVA#2的例子,你可以看到这个证明是:

// This object is used to make YouTube Data API requests. 
youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential) 
    .setApplicationName("youtube-cmdline-localizations-sample").build(); 

... 

// Call the YouTube Data API's videos.list method to retrieve videos. 
VideoListResponse videoListResponse = youtube.videos(). 
    list("snippet,localizations").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); 

你可以看一下在JavaDoc reference for the YouTube Data API关于使用Java库的更多细节。

+0

导入com.google.api.services.youtube.model.VideoLocalization时出错。请使用命令行的屏幕截图查看更新后的问题。 –

+0

通过添加之前引用107的176版本来修复上述问题。但它仍会在第193行抛出一个空指针异常。问题用屏幕截图进行更新。 –

+0

简单的GET请求起作用。谢谢! –