Node.js LinkedIn API:随机401错误
我有Node.js函数,它使用“Node LinkedIn”模块导入LinkedIn提要。该API有时对给定的LinkedIn帐户成功运行,但对同一帐户随机抛出401错误Node.js LinkedIn API:随机401错误,node.js,linkedin,Node.js,Linkedin,我有Node.js函数,它使用“Node LinkedIn”模块导入LinkedIn提要。该API有时对给定的LinkedIn帐户成功运行,但对同一帐户随机抛出401错误 importLinkedInFeeds = function(user, linkedin, start, callback) {//linkedin refers to linkedInToken this.getUserFeedsByDate(linkedin, start, function(err, d
importLinkedInFeeds = function(user, linkedin, start, callback) {//linkedin refers to linkedInToken
this.getUserFeedsByDate(linkedin, start, function(err, data) {
if (!err && data) {
if (data._count > 0 || data._total > 0) {
userManagementObj.updateLinkedinLastSync(user._id, function(error, isSuccess, message) {});
var feedDirect = [];
var feedOther = [];
var allUserLinkedinIds = [];
var referenceIds = [];
for (var i = 0; i < data.values.length > 0; i++) {
var obj = validateAndParseLinkedinFeed(user, linkedin.id, data.values[i]);
if (obj.isValid) {
feedDirect = feedDirect.concat(obj.feedDirect);
feedOther = feedOther.concat(obj.feedOther);
allUserLinkedinIds = allUserLinkedinIds.concat(obj.userLinkedinIds);
referenceIds = referenceIds.concat(obj.referenceIds);
}
}
if (referenceIds.length > 0) {
referenceIds = common.removeDuplicate_id(referenceIds, true);
}
if (allUserLinkedinIds.length > 0) {
allUserLinkedinIds = common.removeDuplicate_id(allUserLinkedinIds, true);
var query = {
"linkedin.id": {
$in: allUserLinkedinIds
}
};
var projection = {
emailId: 1,
firstName: 1,
lastName: 1,
publicProfileUrl: 1,
profilePicUrl: 1,
companyName: 1,
designation: 1,
mobileNumber: 1,
skypeId: 1,
location: 1,
linkedin: 1
};
userManagementObj.selectUserProfilesCustomQuery(query, projection, function(error, users) {
if (error) {
logger.info('Error Linkedin importLinkedInFeedToInteractions():LinkedIn selectUserProfilesCustomQuery() ', error);
callback(false);
} else if (users && users.length > 0) {
for (var u = 0; u < users.length; u++) {
for (var int = 0; int < feedOther.length; int++) {
if (feedOther[int].linkedinId == users[u].linkedin.id) {
feedOther[int].userId = users[u]._id;
feedOther[int].firstName = users[u].firstName;
feedOther[int].lastName = users[u].lastName;
feedOther[int].publicProfileUrl = users[u].publicProfileUrl;
feedOther[int].profilePicUrl = users[u].profilePicUrl;
feedOther[int].companyName = users[u].companyName;
feedOther[int].designation = users[u].designation;
feedOther[int].location = users[u].location;
feedOther[int].mobileNumber = users[u].mobileNumber;
feedOther[int].emailId = users[u].emailId;
}
}
}
addInteractionsBatch(user, feedDirect, feedOther, referenceIds, callback)
} else addInteractionsBatch(user, feedDirect, feedOther, referenceIds, callback)
})
} else {
addInteractionsBatch(user, feedDirect, feedOther, referenceIds, callback)
}
} else {
logger.info('No linkedin feeds', user.emailId);
callback(true)
}
} else {
callback(false)
}
})
}
importLinkedInFeeds=函数(用户、linkedin、开始、回调){//linkedin指的是linkedInToken
this.getUserFeedsByDate(linkedin,start,函数(err,data){
if(!err&&data){
如果(数据|计数>0 |数据|总数>0){
userManagementObj.UpdateLinedInLastSync(用户id,函数(错误,isSuccess,消息){});
var feedDirect=[];
var feedOther=[];
var allUserLinkedinIds=[];
var referenceId=[];
对于(变量i=0;i0;i++){
var obj=validateAndParselkedinfeed(用户,linkedin.id,data.values[i]);
如果(对象有效){
feedDirect=feedDirect.concat(对象feedDirect);
feedOther=feedOther.concat(对象feedOther);
allUserLinkedinIds=allUserLinkedinIds.concat(obj.userLinkedinIds);
referenceId=referenceId.concat(obj.referenceId);
}
}
如果(referenceId.length>0){
referenceId=common.removeDuplicate_id(referenceId,true);
}
如果(allUserLinkedinIds.length>0){
AlluserLinkedInId=common.removedupplicate_id(AlluserLinkedInId,true);
变量查询={
“linkedin.id”:{
$in:allUserLinkedinIds
}
};
var投影={
电邮号码:1,,
名字:1,
姓:1,,
publicProfileUrl:1,
profilePicUrl:1,
公司名称:1,,
名称:1,
手机号码:1,
skypeId:1,
地点:1,,
linkedin:1
};
userManagementObj.selectUserProfilesCustomQuery(查询、投影、函数(错误、用户){
如果(错误){
info('Error Linkedin importLinkedInFeedToInteractions():Linkedin selectUserProfilesCustomQuery()',Error);
回调(假);
}else if(users&&users.length>0){
对于(var u=0;u
}401表示此帐户已被授权访问此信息。很可能您正试图访问某些需要访问令牌的信息