虽然手动请求工作正常,但无法用yt gem读取标题

我对铁轨上的ruby相当新。 我正在尝试使用yt gem获取youtubevideo的详细信息。 我看到以下问题。

“对YouTube API的请求导致意外的服务器错误:{}您可以通过运行以下命令手动重试相同的请求:curl -X GET -H”content-length:0“-H”user-agent:Yt :: Request(gzip )”

当我手动访问API URL时,我得到了预期的细节。

这是我的文件和代码。

articles_contoller

def index @article = Article.all @campaign = Campaign.all @video = Yt::Video.new url: 'https://www.youtube.com/watch?v=5Tzg9173xC4' @title = @video.title end 

index.html.erb

 

 <iframe width="350" height="250" src="https://www.youtube.com/embed/" frameborder="0" allowfullscreen>  

手动响应API调用

 "kind": "youtube#videoListResponse", "etag": "\"q5k97EMVGxODeKcDgp8gnMu79wM/REiwRaaIO10kgiEe8tHbpNZgd4g\"", "pageInfo": { "totalResults": 1, "resultsPerPage": 1 }, "items": [ { "kind": "youtube#video", "etag": "\"q5k97EMVGxODeKcDgp8gnMu79wM/wYDY_ffgX0ztxRb89MdmYL7kALY\"", "id": "5Tzg9173xC4", "snippet": { "publishedAt": "2015-03-04T09:21:18.000Z", "channelId": "UCgZ-2dsrFfrWCskNEwTNFPQ", "title": "Anits ECE Flashmob 2k15", "description": "", "thumbnails": { "default": { "url": "http://sofzh.miximages.com/ruby-on-rails/default.jpg", "width": 120, "height": 90 }, "medium": { "url": "http://sofzh.miximages.com/ruby-on-rails/mqdefault.jpg", "width": 320, "height": 180 }, "high": { "url": "http://sofzh.miximages.com/ruby-on-rails/hqdefault.jpg", "width": 480, "height": 360 } }, "channelTitle": "anits ece", "categoryId": "22", "liveBroadcastContent": "none", "localized": { "title": "Anits ECE Flashmob 2k15", "description": "" }, "defaultAudioLanguage": "en" } } ] 

我相信我可能会遗漏一些愚蠢的东西。 试图通过查看各种论坛和教程解决,但没有运气。

感谢您的帮助

我现在有同样的问题 – 运气好吗?


更新

我刚刚解决了这个问题 – 对我而言,这是我在localhost中使用SSL获得的错误。

将此行添加到development.rb ,然后再试一次。

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

你设置了API密钥了吗? 执行此操作的最佳位置是初始化程序:

 # config/initializers/youtube.rb Yt.configure do |config| config.api_key = ENV['youtube_key'] end