2016-06-20 5 views
0

Javascript API를 통해 linkedin 사용자의 전체 프로필 (특히 직업 내역 및 교육 자격)을 검색하려고합니다. 나는 구글과 스택 오버 플로우에서 다음 코드를 조각 같이 관리해야 :Javascript API를 통해 linkedin 사용자의 전체 프로필을 검색하는 방법

<html> 
<head> 
<title>Test</title> 
<script type="text/javascript" src="http://platform.linkedin.com/in.js"> 
    api_key: blahblahblah 
    onLoad: onLinkedInLoad 
    authorize: true 
</script> 

<script type="text/javascript"> 
function onLinkedInLoad() { 
    IN.Event.on(IN, "auth", onLinkedInAuth); 
} 
function onLinkedInAuth() { 
    IN.API.Profile("me").result(displayProfiles); 
    // IN.API.Profile("me").fields(["industry", "network", "date-of-birth", "educations:(id,school-name)"]).result(displayProfiles); 
} 
function displayProfiles(profiles) { 
    member = profiles.values[0]; 
    document.getElementById("profiles").innerHTML = 
    "<p id=\"" + member.id + "\">Hello " + member.firstName + " " + member.lastName + "</p>"; 

    for(education in profiles.educations) { 
     var id = education.id; 
     var name = education.schoolName; 
     console.log(name); 
    } 
} 
</script> 
</head> 
<body> 
<script type="IN/Login"></script> 
<div id="profiles"></div> 
</body> 
</html> 

이것은 그들이 액세스 권한을 부여 후 사용자의 이름과 성 로그인 검색 관리합니다. 그러나 그것은 완전히 다른 것을 검색하지 못합니다. 나는 linkedin에 대한 회사 로그인을 사용하고 있으며 나머지 api를 통해 모든 사용자의 정보에 액세스 할 수 있으므로 액세스 문제는 아닙니다. Javascript API를 사용하는 방법을 모르겠습니다. (예를 찾을 수 없습니다.) 검색 할 정보를 어떻게 지정하고 반환 된 JSON 객체의 정보를 어떻게 식별 할 수 있습니까?

답변

2

당신이 주석 처리 한 통화의 변형을 사용하여 저의 의도대로 작동하고있는 것으로 보입니다. fields을 확인하십시오. 거기에 "네트워크"가 있지만 목록에 없습니다. API의 이전 버전에 포함되었을 수 있습니까?

function onLinkedInAuth() { 
    // IN.API.Profile('me').result(displayProfiles); 
    IN.API.Profile('me').fields([ 
    'first-name', 'last-name', // Add these to get the name 
    'industry', 'date-of-birth', 'educations:(id,school-name)', 
    'positions' // Add this one to get the job history 
    ]) 
    .result(displayProfiles); 
} 

그럼 당신은 이런 식으로 반환 된 데이터로 작업 할 수 있습니다 :

function displayProfiles(profiles) { 
    var member = profiles.values[0]; 

    // Note that these values are arrays and not objects 
    var educations = member.educations.values; 
    var positions = member.positions.values; 

    document.getElementById('profiles').innerHTML = 
    '<p id="' + member.id + '">Hello ' + member.firstName + ' ' + member.lastName + '</p>'; 

    educations.forEach(function(edu) { 
    var id = edu.id; 
    var name = edu.schoolName; 
    console.log(id, name); 
    }); 

    positions.forEach(function(position) { 
    // Do some work with each position... 
    }); 
} 
+0

나에게 형식 오류를 제공합니다 : member.educations는 일종의 작동 위치에 대한 정의되지 않은 – Superdooperhero

+0

,하지만 그것은 단지 현재 위치를 반환; 모든 직위가 아닙니다. – Superdooperhero

+0

앱과 같은 사운드는 [r_basicprofile] (https://developer.linkedin.com/docs/fields/basic-profile) 권한으로 만 설정됩니다. linkedin 개발자의 [app page] (https://www.linkedin.com/developer/apps/)로 가서 "r_fullprofile"상자가 제대로 보이는지 확인하십시오. – 1cgonza

관련 문제