Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js LinkedIn API:随机401错误_Node.js_Linkedin - Fatal编程技术网

Node.js LinkedIn API:随机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

我有Node.js函数,它使用“Node LinkedIn”模块导入LinkedIn提要。该API有时对给定的LinkedIn帐户成功运行,但对同一帐户随机抛出401错误

    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表示此帐户已被授权访问此信息。很可能您正试图访问某些需要访问令牌的信息