注意:以下所有操作基本上vpn链接的环境下才能运行,包括(跑代码的)服务器
一、OAuth2.0认证
参考文档1:https://developers.google.com/youtube/v3/getting-started(注册google账户,设置项目)
参考文档2:http://blog.csdn.net/totogogo/article/details/6860966(oauth2.0认证)
参考文档3:http://wiki.ktmud.com/tips/google-oauth2.html(oauth2.0认证)
参考文档3:https://github.com/google/signet(signet Gem包)
步骤1、注册google账户
步骤2、在https://console.developers.google.com/project中新建project
步骤3、在“api和验证”中选择api ,在跳转出来的界面,选择 youtube Data API
步骤4、在“api和验证”中选择验证,在跳转出来的界面,选择上面一览,新建server-side web applications,在里面填写redirect_uri (在后面的程序中会用到,域名/XXX)
步骤5、新建rails程序程序源码可见https://github.com/lijinmin/youtobe_search
讲解:调用gem包,新对象client = Signet::OAuth2::Client.new(parameters)parameters包括
:authorization_uri => 'https://api.instagram.com/oauth/authorize/?',
:token_credential_uri => 'https://api.instagram.com/oauth/access_token',
:redirect_uri => '域名/xxx‘
:client_id => '在步骤4中会获得client_id'
:client_secret => '在步骤4中会获得client_secret'
:scope => '在https://developers.google.com/youtube/v3/docs/search/list中,选择try it now ,然后在跳转出来的页面选择oauth2.0认证,就会弹出一个小网页,里面的链接都可以作为scope,如::scope => 'https://www.google.com/m8/feeds/'
二、youtobe data api /search
参考文档1:https://developers.google.com/youtube/v3/docs/search/list
参考文档2:http://blog.163.com/lixiangqiu_9202/blog/static/53575037201311811618474/
步骤1:新建一个.rb文件,代码如下:
q = "关键字"
key = "your_key"(在OAuth2.0验证步骤4中,选择下面一览,点击新建获得key)
search_uri = "https://www.googleapis.com/youtube/v3/search?key=#{key}&part=snippet&maxResults=1&q=#{q}"(maxResults的最大值为500,表示每次输出的视频数)
puts res = RestClient.get(search_uri)
讲解:运行此代码,在输出的结果中,有vedio_id,把vedio_id放入链接http://www.youtube.com/watch?v=<videoId>,此链接便可以打开相应的视频,在输出的结果中还有搜索到的视频数和下一页token的值