YoutubeAPI使用

1  Youtube API能干什么

2  Youtube API

2.0 Youtube简介

2.1如何使用Youtube API

2.1.1 获取Youtube的开发者ID

2.1.2 Youtube API使用

2.3如何播放检索到的video

2.3.1 使用http请求播放

2.3.2 将播放窗体嵌入到自己的页面内播放

3  Sample实现

1  Youtube API能干什么

服务网站:http://www.youtube.com/

lYoutube API支持搜索用户信息和video信息,支持多种搜索适用。

l能很方便的在APP中播放检索到的短片;只能在播放前设置播放窗口的大小,但不能实现各种播放模式。

l提供sample

相关资源:

http://www.youtube.com/devYoutube开发

http://www.youtube.com/dev_docsYoutube API文档

http://www.youtube.com/dev_intro使用Youtube API起点

2  Youtube API

2.0 Youtube简介

YouTube是一个因特网网站,让使用者上载观看及分享短片。它是一个可供网民上载观看及分享短片的网站,至今已成为同类型网站的翘楚,并造就多位网上名人和激发网上创作。

2.1 如何使用Youtube API

使用Youtube API首先要申请一个开发者ID(该ID会作为API参数)。API的调用是一个http请求,返回的是一个xml结果集。

2.1.1获取Youtube的开发者ID

首先需要申请一个Youtube帐户,然后设置developer profile,设置成功后会产生developer ID。我申请到的ID是:Gy-vvp-8HnE, 如下:

Developer ID:

Gy-vvp-8HnE

Purpose for Using APIs:

 

Site Name:

Site URL:
(optional)

Secret:
(for read/write API calls)

Platform(s):
(optional, check all that apply)

C#
Python
Java
PHP
Ruby
Perl
ColdFusion

2.1.2 Youtube API使用

Youtube API功能如下表:

User Information

Video Viewing

  • ·youtube.users.get_profile
  • ·youtube.users.list_favorite_videos
  • ·youtube.users.list_friends (with paging)
  • ·youtube.videos.get_details
  • ·youtube.videos.list_by_tag (with paging)
  • ·youtube.videos.list_by_user (with paging)
  • ·youtube.videos.list_featured
  • ·youtube.videos.list_by_related (with paging)
  • ·youtube.videos.list_by_playlist (with paging)
  • ·youtube.videos.list_popular
  • ·youtube.videos.list_by_category_and_tag (with paging)
 

由于这些API使用类似,这里举两个例子,详细使用见:http://www.youtube.com/dev_docs

youtube.users.list_favorite_videos函数说明

描述:通过输入用户名(Yubube的注册用户名),检索出该用户的喜爱的video

参数:

User:Yubube的注册用户名

调用举例:

http://www.youtube.com/api2_rest?method=youtube.users.list_favorite_videos&dev_id=Gy-vvp-8HnE&user=GiR2007

返回结果中共显示了10条机记录:这里只列举出一条信息。

<?xml version="1.0" encoding="utf-8"?>
<ut_response status="ok"><video_list><total>10</total><video><author>j1j8</author><id>_pbHmupg-4M</id><title>Free Hugs Campaign Aberdeen</title><length_seconds>220</length_seconds><rating_avg>4.71</rating_avg><rating_count>14</rating_count><description>http://FreeHugsScotland.bebo.com Give a FREE HUG!!!! thats all i can say!!! If you spotted me please post it as a video response!</description><view_count>410</view_count><upload_time>1173659764</upload_time><comment_count>60</comment_count><tags>Aberdeen Aberdeenshire free hugs hug guy peace smile happy love John gives city sign hugging sharing friendship human</tags><url>http://www.youtube.com/?v=_pbHmupg-4M</url><thumbnail_url>http://sjl-static2.sjl.youtube.com/vi/_pbHmupg-4M/2.jpg</thumbnail_url></video><video>...</video>...</video_list>
</ut_response>

youtube.videos.list_by_tag (with paging)函数说明

描述:通过输入的tag,检索出所有的video

参数:

lMethodyoutube.videos.list_by_tag

lDev_id:申请的developer ID,即Gy-vvp-8HnE

lTag:检索的关键字

lPage:如果按页显示,取第几页数据。 可选项参数

lPer_page:一页显示记录的条数。 可选项参数

调用举例:

http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=Gy-vvp-8HnE&tag=sport&page=1&per_page=3

返回结果:显示了3条记录(23条记录略),其中粗体的信息是比较重要的。

<?xml version="1.0" encoding="utf-8" ?>
<ut_response status="ok"><video_list><total>100347</total><video><author>MollywoodTO</author><id>b06exGCPThQ</id><title>THE GAYEST SPORT ON EARTH</title><length_seconds>467</length_seconds><rating_avg>4.25</rating_avg><rating_count>105</rating_count><description>Spandex Alert-The gayest sport on earth Hard-bodied men strut their stuff but in an oh, so gay, way. (and I mean that in a good way! lol)</description><view_count>122009</view_count><upload_time>1168200369</upload_time><comment_count>None</comment_count><tags>sport men sexy spandex athletic competition mollywoodto</tags><url>http://www.youtube.com/?v=b06exGCPThQ</url><thumbnail_url>http://sjc-static5.sjc.youtube.com/vi/b06exGCPThQ/2.jpg</thumbnail_url></video><video></video><video></video></video_list>
</ut_response>

youtube.videos.get_details函数说明

描述:获取video的详细信息;

参数:

lMethodyoutube.videos.get_details

lDev_ID:申请的developer ID,即Gy-vvp-8HnE

lVideo_IDVideoID,在前一个检索结果中有,即b06exGCPThQ

调用举例:

http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=Gy-vvp-8HnE&video_id=b06exGCPThQ

返回结果:

<?xml version="1.0" encoding="utf-8"?>
<ut_response status="ok"><video_details><author>Sander79</author><title>Lost &amp; Found</title><rating_avg>4.56</rating_avg><rating_count>110</rating_count><tags>stopmotion stop-motion stop motion animation clay claymation</tags><description>Some stopmotion animations I lost over the years. I'm glad that I one day made a copy. Finding the copy was a lot more difficult : ) Enjoy!</description><update_time>1173398174</update_time><view_count>16501</view_count><comment_count>47</comment_count><upload_time>1155415077</upload_time><length_seconds>222</length_seconds><recording_date /><recording_location /><recording_country /><comment_list><comment><author>joelsheldon</author><text>This is immense</text><time>1170859705</time></comment><comment>...</comment>...</comment_list><channel_list><channel>Film &amp; Animation</channel></channel_list><thumbnail_url>http://sjl-static1.sjl.youtube.com/vi/ss_619Vlyzs/2.jpg</thumbnail_url><embed_status>ok</embed_status></video_details>
</ut_response>

2.3 如何播放检索到的video

2.3.1使用http请求播放

请求URLhttp://www.youtube.com/watch?v=ss_619Vlyzs

参数vVideoid,可以通过搜索得到。

返回的是一个网页,其中包含了包放窗体,以及该video的相关信息。

2.3.2将播放窗体嵌入到自己的页面内播放

如果想要将播放窗体嵌入到自己的页面内需要在html中加入如下代码:

<object><param name="movie" value="http://www.youtube.com/v/ss_619Vlyzs"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/ss_619Vlyzs" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed>
</object>

下面是一个完整的播放例子,将其保存为html文档即可运行。

<html>
<head>
</head>
<body><object><param name="movie" value="http://www.youtube.com/v/ss_619Vlyzs"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/ss_619Vlyzs" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
</body>
</html>

说明:由于我网速太慢,在测试中能播放的时候很少(我只播放成功三次),多数情况是显示的Loading状态,见下图:

3  Sample实现

例子说明:通过Youtube的搜索API获取video信息。在从信息中得到videoid,使用此ID就能播放该媒体。我们不需关心媒体的格式。

由于播放控件是嵌入到页面中的,而且没有提供多种播放模式,我们只能改变播放窗口的大小。我们只能在播放前将设置播放窗口的大小,播放过程中无法改变其大小。

Sample提供两种收缩功能:

l用户的喜爱的video搜索,即youtube.users.list_favorite_videos

l关键字搜索,即youtube.videos.list_by_tag

操作说明:

l01选择检索模式

l02输入检索条件;电击SearchButton

l03选择播放媒体播放

l04播放该媒体

转载于:https://www.cnblogs.com/jiangzhaowei/p/8258076.html

YoutubeAPI使用相关推荐

  1. youtube批量采集-低成本解决方案-2

    之前我有一篇文章<YouTube视频爬虫-批量采集-低成本解决方案-技术难点和细节回顾> 提到过一种u2b视频采集的方案.该方法适用于针对特定的up主进行批量采集,成本确实挺低,速度也蛮好 ...

  2. ecw2c理解元数据:使用BigQuery k-means将4,000个堆栈溢出标签聚类

    您如何将超过4,000个活动的Stack Overflow标签分组为有意义的组? 对于无监督学习和k均值聚类来说,这是一项完美的任务-现在您可以在BigQuery中完成所有这些工作. 让我们找出方法. ...

  3. 如何在YouTube Api限额的情况下获取更多视频

    文章来自自己的博客 YouTube视频 谷歌限制了YouTube api v3的请求量,一天10000配额,这里不是10000次请求,每次请求根据不同参数消耗不同配额.为了摆脱这种限制而获得更多的新发 ...

  4. iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理

    本章内容 ●    iOS应用中的网络错误源 ●    检测网络的可达性 ●    错误处理的经验法则 ●    处理网络错误的设计模式 到目前为止,我们所介绍的iPhone与其他系统的网络交互都是基 ...

最新文章

  1. 《C程序设计语言》读书笔记----习题1-21
  2. 对于我的博客的相关说明
  3. 在浏览器里使用 SAP GUI
  4. 可能是最先出来的关于介绍使用Vue3的一本书
  5. 大数据每日哔哔、新征程
  6. 游戏筑基开发之单链表及其增删改查(C语言)
  7. 前端vue生成二维码,再合成海报图片
  8. 解决 CFBundleExecutable CFBundleSupportedPlatform错误
  9. GATK教程 / 体细胞短变异检测 (SNV+InDel)流程概览
  10. 使用U盘win10家庭版本系统重装
  11. “鸡血驱动”为CS:GO、LOL注入“强心剂”!英特尔锐炫A750显卡实测
  12. Ubuntu/Windows下利用“HIDAPI”库函数实现与Hid类USB设备通信
  13. Mac 下Charles的安装和抓包
  14. 搞懂Pandas数据合并,这一片就够了
  15. 外网/虚拟机中Elasticsearch无法访问的问题
  16. python命令找不到 pip 命令找不到解决方案
  17. 特征选择与稀疏学习(Feature Selection and Sparse Learning)
  18. 图形图像平面几何变换类(C++版)
  19. 视频的清晰度 1080p 720p 2k 4k是什么意思?
  20. 江西财经大学计算机科学与工程,江西财经大学-软件与物联网工程学院

热门文章

  1. RecyclerView添加下划线
  2. [arch Linux] 使用grub实现Linux和Windows双系统的引导
  3. 19软考软件设计师_19个免费的设计师在线杂志
  4. 2019spring exam 7-5 校庆
  5. 移动测试基础 Android 应用测试总结
  6. C#毕业设计——基于C#+asp.net+sqlserver的校园新闻发布系统设计与实现(毕业论文+程序源码)——新闻发布系统
  7. 北航2020级算法上机 C1-I 对抗 题解
  8. 算法导论第二章部分习题自我解答
  9. 一个体育生的编程之路
  10. 从IDEA代码调试器的threads选项卡的一个细节谈如何学习编程