0

我的 iOS 应用程序是一个小型社交网络,支持使用 twitter 登录。作为功​​能的一部分,我需要访问 twitter 用户图片,例如在用户个人资料中或通知/帖子旁边显示它们。

由于最近不推荐使用 twitter API 1.0,因此我需要使用 v1.1。在 API 1.0 上,获取 userpic 非常简单——一个返回图像 URL 的 API 调用。
现在,每次我需要 twitter userpic 时,我都会遵循使用 APP 密钥和秘密进行身份验证的路线,获取带有用户信息的大型 JSON 并从那里选择个人资料图像 URL。

问题是我达到了 API 调用限制。它没有发生在 v1.0 上。您认为解决这个问题的最佳解决方案是什么?我能想到一些:

  • 使用磁盘缓存(在每个 iOS 设备上缓存图像)。在当前的实现中,我以图像 URL 为键缓存图像;这可以重新设计以缓存以用户名为键的图像,因为它不计入 Twitter API 限制
  • 在后端缓存指向 userpic 的链接(我们使用 parse.com)
  • 在后端缓存图像本身
  • 以某种方式优化向 twitter 询问配置文件 URL 的逻辑 <- 这是首选,因为它不需要重大的代码返工。

Q1:您认为最好的解决方案是什么?
Q2:你能看到有什么方法可以在不达到配额的情况下查询 Twitter 上的用户图片链接吗?

谢谢,

4

1 回答 1

0

这是通过以下方式解决的:

  1. 使用 SDImageCache(SDWebImage 库的一部分)进行本地(设计上)缓存。
  2. 在 parse.com 数据库(我们的后端)中缓存指向 twitter 用户图片的链接。
  3. 如果指向用户图片的链接不可用,则正在为该链接请求 twitter rest API

添加第二步来处理案例,例如一个新用户使用 twitter 登录,我们要从 twitter 获取他的用户图片;该用户在提要中发布了一些内容,当一群人打开他的帖子时,我们不希望 twitter 由于配额限制而拒绝请求;在第一次请求 twitter API 时,链接存储在数据库中。

希望它可以帮助某人。

干杯,
丹。

于 2013-06-19T21:15:58.897 回答