我需要存儲少數用戶的跟隨者的跟隨者。推特followers/ids
給出了id
列表,而不是id_str
。我將api返回的整個id列表存儲在一個列表中。然後爲每個ID我找到追隨者列表。無論何時我使用大型ID來查找其追隨者列表,我都會收到錯誤Error: Sorry, that page does not exist
。我試圖將ID轉換爲字符串,但仍然存在錯誤。我肯定錯過了什麼。我正在使用twit(https://github.com/ttezel/twit)庫。任何幫助將不勝感激。如何在節點JS中存儲較大的twitter個人資料ID
這裏是我收集少數用戶的追隨者列表的腳本。
// store in mongoDB
var storeUserFollowerList = function (screenName, followerList) {
twitter_profile.update ({ screen_name : screenName }, {
follower_list : followerList
} , function (err, doc) {
if (err) {
console.log (err);
console.log (' Error while updating ');
} else {
console.log ('Successfull updation ');
//console.log (followerList);
}
});
}
var storeUserFollowerList = function (screenName, followerList) {
twitter_profile.update ({ screen_name : screenName }, {
follower_list : followerList
} , function (err, doc) {
if (err) {
console.log (err);
console.log (' Error while updating ');
} else {
console.log ('Successfull updation ');
//console.log (followerList);
}
});
}
var getUserFollowerList = function (screenName, nextCursor, callback) {
twits.get ('followers/ids', { screen_name : screenName,
cursor : nextCursor },
function (err, data, response) {
//console.log (data);
if (err) {
console.log (err + ' for ' + screenName);
} else {
callback (screenName, data['ids']);
//console.log (data['ids'])
if(data["next_cursor_str"] != "0") {
getUserFollowerList (screenName, data["next_cursor_str"], callback);
}
}
});
}
var getUsers = function (callback) {
screenNames.forEach (function (screenName) {
/*
By default, an API endpoint that supports cursoring will assume
-1 was passed as cursor if you do not provide one
*/
callback (screenName, "-1", storeUserFollowerList);
});
}
這是我如何得到這些追隨者
var getFollowerListOfFollowers = function(followerList, i) {
// if current follower is not in db then search for its follower list and update db
twitter_profile.find ({ id : followerList[i] }, function (err, dbData) {
if (err) {
console.log (err);
} else {
if (dbData.length > 0) {
console.log (' we have this user ... ignore ');
getFollowerListOfFollowers (followerList, ++i);
} else {
get_follower_list (' ' + followerList[i], enter_in_db);
getFollowerListOfFollowers (followerList, ++i);
}
}
});
}
var getFollowerOfFollowers = function() {
screenNames.forEach (function (screenName) {
twitter_profile.find ({ screen_name : screenName },
function (err, dbData) {
if (err) {
console.log (err);
} else {
if (dbData.length > 0) {
// get follower list for each follower of this user
getFollowerListOfFollowers (dbData[0]['follower_list'], 0);
//console.log (dbData[0]['follower_list']);
} else {
console.log (' Data not found in DB ');
}
}
});
});
}
最後
var enterInDB = function (id, followerList) {
new twitter_profile ({
_id: id,
id: id,
follower_list: followerList
}).save (function (err, doc) {
if (err) {
console.log (err);
} else {
console.log (' -----------Entered Profile into database------------- ');
}
});
}
var getFollowerList = function (id, callback) {
twits.get ('followers/ids', { id : id }, function (err, data, response) {
//console.log (data);
if (err) {
console.log (err + ' for ' + id);
} else {
callback (id, ""+data['ids']);
//console.log (data['ids'])
}
});
}
得到錯誤的ID,如730292604265435100
的跟蹤器列表,702941284181237800
你能提供你的代碼,這導致了樣品ID的詳細信息錯誤?你會以更快的速度得到答案;) – KRONWALLED
@KRONWALLED right!添加 ! –