您好,我正在开发一个 Android 应用程序,我的应用程序的一部分想要将歌曲标题解析到 YouTube 并获取视频链接。获得 100% 正确的视频并不重要。那么我如何从 youtube 检索数据呢?
任何人都可以帮助我找到解决方案,这对我来说真的很有帮助。
Thanks
最常见的方法是使用 Youtube 数据 API,它将返回 XML/Json,您可以解析该 XML/Json 以检索视频 url 等内容。
更新 (2017/01/24) (v3)
使用以下调用通过搜索查询搜索 YouTube 视频:
https://www.googleapis.com/youtube/v3/search?part=snippet&q=fun%20video&key=YOUR-API-KEY
它支持以下基本搜索参数:
-
part:您要在搜索中检索的视频数据。对于基本搜索,建议值为snippet.
-
q:您要搜索的文字
-
key:您的 Google 开发者 API 密钥。该密钥可以在谷歌开发者API控制台 https://console.developers.google.com/在您的应用程序的凭据页面上。确保在您的密钥所属的应用程序上启用 Youtube Data API v3。
更多参数请参见谷歌API文档 https://developers.google.com/youtube/v3/docs/search/list
使用 Java 库
在 Android 上,您可以使用平台上可用的标准 HTTP 请求类对 URL 执行 HTTP 请求,也可以使用谷歌 API Java 库 https://developers.google.com/api-client-library/java/如下所示:
YouTube youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() {
public void initialize(HttpRequest request) throws IOException {
}
}).setApplicationName("YOUR-APPLICATION-NAME").build();
String queryTerm = "A fun video"
// Define the API request for retrieving search results.
YouTube.Search.List search = youtube.search().list("id,snippet");
search.setKey("Your-Api-Key");
search.setQ(queryTerm);
// Call the API and print first result.
SearchListResponse searchResponse = search.execute();
if(searchResponse.getItems().size() == 0)
{
//No items found.
return;
}
SearchResult firstItem = searchResponse.getItems().get(0);
ResourceId rId = firstItem.getId();
// Confirm that the result represents a video. Otherwise, the
// item will not contain a video ID.
if (rId.getKind().equals("youtube#video")) {
Thumbnail thumbnail = firstItem.getSnippet().getThumbnails().getDefault();
Log.d("YOUTUBE_SAMPLE","Video Id" + rId.getVideoId());
Log.d("YOUTUBE_SAMPLE","Title: " + firstItem.getSnippet().getTitle());
Log.d("YOUTUBE_SAMPLE","Thumbnail: " + thumbnail.getUrl());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)