ruby-on-rails - 尽管手动请求工作正常,但无法使用 yt gem 读取标题

标签 ruby-on-rails ruby youtube-api

我对 ruby​​ on rails 还很陌生。我正在尝试使用 yt gem 来获取 youtube 视频的详细信息。我看到以下问题。

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

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

这是我的文件和代码。

文章 Controller

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

<div class="row">

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

手动响应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": "https://i.ytimg.com/vi/5Tzg9173xC4/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/5Tzg9173xC4/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/5Tzg9173xC4/hqdefault.jpg",
      "width": 480,
      "height": 360
     }
    },
    "channelTitle": "anits ece",
    "categoryId": "22",
    "liveBroadcastContent": "none",
    "localized": {
     "title": "Anits ECE Flashmob 2k15",
     "description": ""
    },
    "defaultAudioLanguage": "en"
   }
  }
 ]

我确定我可能遗漏了一些愚蠢的东西。尝试通过查看各种论坛和教程来解决,但没有成功。

感谢您的帮助

最佳答案

我现在遇到了同样的问题 - 运气好吗?


更新

我刚刚解决了这个问题 - 对我来说,这是我在使用 SSL 的本地主机中遇到的错误。

将此行添加到 development.rb 然后重试。

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

关于ruby-on-rails - 尽管手动请求工作正常,但无法使用 yt gem 读取标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35659291/

相关文章:

ruby - 在我的终端中运行 "rvm get stable"没有任何作用。如何更新 RVM?

youtube - 使用Youtube Data API创建类似youtube的应用程序来聚合来自任何 channel 的youtube视频是否合法?

ruby-on-rails - 使用 Chef,我如何只运行一次 Rails 迁移?

ruby-on-rails - 依赖破坏不起作用

ruby-on-rails - 在 rails 控制台中预览 activerecord 查询?

java - 通过在 Youtube API 上插入设置公共(public)统计信息

ruby-on-rails - 希望将YouTube视频数据存储到我的Rails数据库中

ruby-on-rails - Rails 3 上的任何 Assets 管理器?

ruby - 引用自身内部的哈希项

ruby-on-rails - 使用 RVM 在 ruby​​ 2.2.0 上安装 rails 4.2 生成 "Your Ruby version is 2.2.0, but your Gemfile specified 2.1.5"