【发布时间】:2013-08-14 09:33:05
【问题描述】:
我正在使用 youtube_it gem 来检索标题视频 ID 的列表。
require 'youtube_it'
# query the video title
response = client.videos_by(:query => v, :max_results => 1)
# print out title
puts response.videos.first.title
遇到已删除的视频会出错。
undefined method `title' for nil:NilClass (NoMethodError)
如何处理?
解决方案
# check if the video title exists
v1 = response.videos.first
if v1.nil?
puts "*** VIDEO REMOVED ***"
else
# display video title
puts v1.title
end
谢谢。
【问题讨论】:
-
这里的
怎么样 developers.google.com/youtube/2.0/reference, " 标记包含描述无法播放的视频状态的信息。包含 标签不可播放。name 和 reasonCode 属性以及标签值可让您深入了解视频不可播放的原因。"也许你可以通过这个过滤结果。 -
为什么不使用简单的 begin..rescue ?
-
michaelr 你能举个例子吗?谢谢
-
@ajt 所以如果 v1.nil? 运行查询 yt:state 并捕获原因代码属性?
标签: ruby youtube-api