虽然手动请求工作正常,但无法用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
Interesting Posts