0

我正在尝试从 iOS5 中的应用程序获取我在 Twitter 上关注的所有用户的用户 ID、屏幕名称和个人资料图片链接的列表。为此,最初我发布以下链接以获取我所有朋友的 user_id-

“https://api.twitter.com/1/friends/ids.json”

一旦我收到上述 URL 的响应,即我在 Twitter 上关注的所有朋友的 user_id 列表,我将所有用户 id 连接到单个字符串中,然后使用以下 URL 获取 JSON,其中将包含所需的我关注的所有用户的详细信息——

“https://api.twitter.com/1/users/lookup.json?user_id=420107765,383684745,312790865,85462891,164199168,140856038&include_entities=screen_name”

在这里,我面临的问题是,如果我关注的朋友数量更多,我会收到 API 限制超出错误,尽管我只进行了 2 次 API 调用。

令人震惊的是,我仍然可以进行其他 twitter API 调用,但是当我进行查找/用户调用以获取仅 5 到 10 个用户的信息时,它仍然给我以下错误 ---

结果的打印描述:{错误=“超出速率限制。客户端每小时不得超过150个请求。”;request = "/1/users/lookup.json?user_id=50851703,86254626,88856792,6253282,18839785,145125358,135421739,170416270&include_entities=True&application_id=uk.co.vipul.twt"; }

有人可以给我这个问题的解决方案。提前致谢 !!!

4

1 回答 1

1

首先,有 100 个 UID/屏幕名称的上限。实际的 API 文档页面(https://dev.twitter.com/docs/api/1/get/users/lookup)并没有说明您是否可以包含 100 个屏幕名称,然后是 100 个 UID,并获得 200 个结果每次通话?可能有人在论坛/博客中讨论过这个问题,但不是文档页面。为了安全起见,请确保在每次调用中将请求限制为 <= 100 个 UID。

我不确定的另一项是,include_entities 应该是真/假吗?如果您包含实体,您将返回实体信息。我不确定以这种方式使用时它是否有效,但即使它确实有效,期望结果只是来自推文实体的屏幕名称(与用户中的屏幕名称不同)似乎是合乎逻辑的.

我相信如果您限制 UID 的数量,并将 include_entities 设置为有效(适当的)值,您将获得一个 JSON 对象,其中包含有关所有 UID 的大量信息。然后,您可以按计划从该对象中提取信息。

于 2012-07-19T16:48:58.330 回答