我不知道你的数据库是什么样的,但这是我如何设置它。
CREATE TABLE twitter_users (
user_id INTEGER PRIMARY KEY NOT NULL,
screen_name VARCHAR(20) NOT NULL
);
CREATE TABLE friends (
friend_id INTEGER PRIMARY KEY NOT NULL
);
CREATE TABLE followers (
follower_id INTEGER PRIMARY KEY NOT NULL
);
然后,您可以使用此SQL来获取不是追随者的朋友。
SELECT friend_id, screen_name
FROM friends
LEFT JOIN followers ON follower_id = friend_id
LEFT JOIN twitter_users ON user_id = friend_id
WHERE follower_id IS NULL
如果屏幕名称为NULL
这意味着他们不在你twitter_users
表。您可以查找缺失的用户并将其存储以备后用。屏幕名称可能会更改,因此您可能需要定期更新表格。
使用friends/ids和followers/ids API可一次获取好友和关注者ID为5,000的列表。使用users/lookup API可以获得最多100个屏幕名称。如果用户拥有2,000,000个朋友,则需要400个API调用才能获取ID列表,因此您至少应该为受欢迎的用户缓存该列表。
真的有些人会有50万朋友吗? – 2010-04-11 07:38:16