在没有限制iOS的情况下获取twitter userpics

时间:2013-06-15 17:15:09

标签: ios twitter twitter-oauth

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

由于Twitter API 1.0最近已被弃用,我需要使用v1.1。 在API 1.0上,获取userpic非常简单 - 一个API调用返回图像的URL。
现在每次我需要twitter userpic时,我都会按照APP密钥和密码进行身份验证的路线,获取带有用户信息的大型JSON,并从那里挑选个人资料图片网址。

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

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

Q1:您认为最佳解决方案是什么?
Q2:你能看到任何方式在没有达到配额的情况下在链接到用户图片上查询twitter吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

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

  1. 使用SDImageCache进行本地(on-devise)缓存,SDImageCache是​​SDWebImage lib的一部分。
  2. 在parse.com数据库(我们的后端)中缓存到twitter userpic的链接。
  3. 如果指向用户图片的链接不可用,则正在为该链接请求twitter rest API
  4. 添加第二步以处理案例,例如一个用twitter登录的新用户,我们将从twitter获取用户图片;该用户向Feed发帖,当一群人打开他的帖子时,我们不希望Twitter因配额限制拒绝请求;在对twitter API的第一次请求时,链接存储在DB中。

    希望它对某人有帮助。

    干杯,
    丹。