zoukankan      html  css  js  c++  java
  • YoutubeAPI使用

    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/

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

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

    l         提供sample

     

    相关资源:

    http://www.youtube.com/dev                                                  Youtube 开发

    http://www.youtube.com/dev_docs                                          Youtube 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

     

    由于这些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

    参数:

    l         Methodyoutube.videos.list_by_tag

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

    l         Tag:检索的关键字

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

    l         Per_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的详细信息;

    参数:

    l         Methodyoutube.videos.get_details

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

    l         Video_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

     

    操作说明:

    l         01 选择检索模式

    l         02 输入检索条件;电击SearchButton

    l         03 选择播放媒体播放

    l         04 播放该媒体

  • 相关阅读:
    GCD 并行子线程
    iOS开发>学无止境
    iOS开发>学无止境
    iOS开发>学无止境
    FMDB使用
    递归
    局部变量与全局变量
    函数式编程与参数
    文件的操作
    集合的操作
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/8258076.html
Copyright © 2011-2022 走看看