在尝试从此YouTube频道(Beebop Vox)获取数据时,我在使用Yt gem时遇到了致命错误: https://www.youtube.com/channel/UCxwZWB5WtCntLsjzx8plK6Q
对此频道的调用会返回一个空数组。
这是来自Yt gem的错误消息:
A request to YouTube API returned no items but some were expected: {} You can retry the same request manually by running: curl -X GET -H "content-length: 0" -H "user-agent: Yt::Request (gzip)" -H "authorization: Bearer { USER_TOKEN }" -H "host: www.googleapis.com" "https://www.googleapis.com/youtube/v3/channels?id=UCxwZWB5WtCntLsjzx8plK6Q&maxResults=50&part=statistics"
此频道现已解散,因为它已转移到YOGSCAST网络。据推测,这在它的频道ID上乱窜,我的用户仍然订阅了神器频道。新的Beebop Vox频道在这里: https://www.youtube.com/channel/UCsrgL-QuUioeuAKpbhy69XQ
对此频道的调用不会返回空数组。
如何解决此类错误,以免它导致我的应用程序崩溃?
答案 0 :(得分:0)
在发布此问题时,我不知道raise
。我的代码试图保存那些不存在的数据。
基本上,我需要做的是
begin
save_youtube_data
rescue
handle_error
end
更好的是,我应该通过以下方式进一步处理它:
if youtube_returns_empty_array
do_stuff
else
next
end