我不知道你的數據庫是什麼樣的,但這是我如何設置它。
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