首页 > 解决方案 > 什么是每次请求都调用 API 的替代方法

问题描述

我正在使用以下方法调用 Google Drive API 并从我的 Drive 帐户中提取一堆文件名。这个方法目前在每个请求上都运行,这显然一点都不好。防止这种情况并加快应用程序的最佳选择是什么?

  def get_all_scripts
    arr = []
    session = GoogleDrive::Session.from_config("config.json")
    session.collection_by_title("Input Sheets").spreadsheets.each do |sheet|
     arr << sheet.title
    end
    arr
  end

我在表单下拉列表中使用该文件名数组。

标签: ruby-on-railsruby

解决方案


多久get_all_scripts运行一次?如果非常频繁,您可以查看 Google Drive手表通知。这将向您发送一条消息,让您知道 Google Drive 端发生了一些变化。您现在可以缓存来自 api 请求的结果,并且每次从 watch api 收到通知时,您都会使缓存无效,以便在下一次请求时重新下载。


推荐阅读