Yt-gem API调用帐号视频需要花费过多时间

时间:2017-04-16 09:46:14

标签: ruby-on-rails youtube youtube-api youtube-data-api

我正在使用yt gem for my rails app,以获取youtube帐户的所有视频。

我正在使用的代码是

        account = Yt::Account.new access_token: @user.youtube_access_token
        youtube_videos = []
        @videos =  account.videos
        @videos.each do |video|
            res1 = {}
            res1["provider"] = response["provider"]
            res1["video_id"] = video.id
            res1["url"] = "https://www.youtube.com/watch?v=" + video.id
            res1["thumbnail"] = video.thumbnail_url
            res1["title"] = video.title
            res1["description"] = video.description
            res1["published_at"] = video.published_at
            res1["duration"] = video.duration
            youtube_videos << res1
        end

一些基本的Time.now()日志显示@videos = account.videos语句需要大约1秒才能完成并返回一个Yt :: Collections :: Videos对象,这是预期的。但是,对于每个存在的视频,后续@videos.each循环大约需要1秒。这在我的应用中添加了太多延迟。

我的解释是@videos.each中的每次迭代都会导致单独的API调用,这就是循环需要花费很多时间才能执行的原因。但是我不确定这个事实。

有没有办法加快从帐户中获取所有视频的过程?

0 个答案:

没有答案