如何在 iOS5 中使用单个 API 请求获取 Twitter 上所有好友的详细信息?

问题描述 投票:0回答:1

我正在尝试获取所有用户的用户 ID、屏幕名称和个人资料图像链接的列表,我从 iOS5 中的应用程序在 Twitter 上关注这些用户。 为此,最初我发布以下链接来获取我所有朋友的 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 limit exit 错误,尽管我只进行了 2 次 API 调用。

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

打印结果说明:

{
    error = "Rate limit exceeded. Clients may not make more than 150 requests per hour.";
    request = "/1/users/lookup.json?user_id=50851703,86254626,88856792,6253282,18839785,145125358,135421739,170416270&include_entities=True&application_id=uk.co.vipul.twt";
}

有人可以给我这个问题的解决方案吗? 预先感谢!

ios twitter ios5 rate-limiting
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.