3

我想按照他们关注我的顺序显示 Twitter 用户。

我可以使用这个 Twitter API 调用来获取我的关注者列表

https://api.twitter.com/1/followers/ids.json?screen_name=edent

这将返回一个 ID 列表,这些 ID他们关注我的时间排序:

574597584,531113272,787166,1060121,
etc

然后我必须调用用户/查找来获取所有用户的数据

https://api.twitter.com/1/users/lookup.xml?user_id=574597584,531113272,787166,...

这是问题 - users/lookup is unsorted。每次我调用它时,我都会以不同的顺序让用户返回。

使用 PHP将用户/查找排序为与关注者/ID相同的顺序的最有效方法是什么?

4

1 回答 1

0

根据 ilanco 的评论,这是订购 Twitter 朋友/关注者的方法

// Get all the user ID of the friends   
$request_ids = "https://api.twitter.com/1/friends/ids.json?screen_name={$user}";

这会按顺序返回所有 ID 的 JSON 列表

它们需要以 1、2、3、4 的形式发送使用用户/查找

// Construct the request
$request = "https://api.twitter.com/1/users/lookup.xml?user_id=".$user_ids;

然后,遍历用户数组,从第一个数组中查找用户ID,按照第一个数组中的顺序将用户放入一个新数组中

$sortedUsers = array();

foreach ($users as $user) {
    $user_id = $user->id;       
    $key = array_search($user_id, $ids);
    $sortedUsers[$key] = $user;
}

按键排序新数组

ksort($sortedUsers);

它相当粗糙,但它确实有效。

于 2012-05-15T11:35:30.433 回答