刷新 thumbnail/base url 的 Google Photos/Google 驱动器 API 的最佳方法

Best way to refresh the thumbnail/base url of Google Photos/Google Drive API

Google 建议在原始查询后 60 分钟后需要时再次检索基础 url,因为 url 已过期。 到目前为止,一切都很好。但是,如果我正在开发一个照片库并且我在一个网格中显示 5000 个或它们怎么办?我应该一次又一次地查询 API 吗?他们使用的最大页面大小为 100(而不是 google 驱动器的 pf 1000),因此如果这是真的,我们将启动许多请求。 我已经在本地缓存照片,但是当用户滚动到另一个部分时,url 将在一小时后过期。

最好的解决方案是什么?

Google 有一个针对该用例的批处理请求: https://developers.google.com/photos/library/reference/rest/v1/mediaItems/batchGet

无论如何,您每次调用可以请求的最大项目数是 50,因此无论如何您都应该对其中一些请求进行排队。

就我个人而言,我在代码中将其设为自动。当我加载的 baseUrl 给我一个 403 时,它会自动获取 mediaitem 更新对象并重试。

此外,您不应在不同的应用程序启动中缓存基本 URL 或通常的媒体对象(假设您正在编写应用程序)。您应该只保留 mediaItem id 并在需要时重新加载它或整个集合。