Не могат да се извлекат споделени връзки на LinkedIn

В момента работя върху приложение на Grails (използвайки Groovy, което е подобно на Java), където потребителят може да види профила на други потребители. На страницата на потребителския профил трябва да покажа LinkedIn връзките, споделени между този потребител и LinkedIn профилите на зрителя. За интегриране на LinkedIn в момента използвам linkedin-j.jar

Използвайки всичко, което можах да позная от документацията на API и търсенето в Google, написах следния код, който не успя да извлече споделени връзки.

Всяка помощ ще бъде оценена.

LinkedInAccessToken targetUserLiAccessToken = new LinkedInAccessToken(targetUserOauthToken, targetUserOauthSecret)
LinkedInApiClient targetUserLiApiClient= linkedInApiClientFactory.createLinkedInApiClient(targetUserLiAccessToken)
Person targetUserLiProrfile=targetUserLiApiClient.getProfileForCurrentUser([ProfileField.ID] as Set)

LinkedInAccessToken currentUserLiAccessToken = new LinkedInAccessToken(currUserOauthToken, currUserOauthSecret)
LinkedInApiClient currentUserLiApiClient= linkedInApiClientFactory.createLinkedInApiClient(currentUserLiAccessToken)
Person resultProfile =  currentUserLiApiClient.getProfileById(targetUserProfile.id, [ProfileField.ID, ProfileField.RELATION_TO_VIEWER] as Set)

List<Person> commonConnections= resultProfile.relationToViewer.relatedConnections.personList

(Тук текущият потребител е зрител, а целевият потребител е този, чийто профил се разглежда.)

При стартиране на този код получавам следните резултати:

resultProfile.relationToViewer.relatedConnections: NULL

resultProfile.relationToViewer.distance: 2

Но това не е както се очаква, профилите в LinkedIn и на двамата потребители имат една споделена връзка


person Manish    schedule 12.09.2013    source източник
comment
Значи distance е прав, но relatedConnections не е наред?   -  person tim_yates    schedule 13.09.2013
comment
Да, Тим, прав си.   -  person Manish    schedule 14.09.2013


Отговори (1)


Успях да поправя проблема.

Точките, които ми липсваха са:

  1. Приложението на LinkedIn, чийто API ключ и тайна използвах за извличане на данни, беше конфигурирано да иска само BASIC_PROFILE разрешение (Това беше, защото LinkedIN наскоро въведе някои промени в своите разрешения за API). МРЕЖОВИТЕ разрешения също бяха необходими за достъп до информация за връзките.

  2. В кода трябваше да използвам ProfileField.RELATION_TO_VIEWER_RELATED_CONNECTIONS вместо ProfileField.RELATION_TO_VIEWER

Следва последната част от кода, която работи за мен:

LinkedInAccessToken targetUserLiAccessToken = new LinkedInAccessToken(targetUserOauthToken, targetUserOauthSecret)
LinkedInApiClient targetUserLiApiClient= linkedInApiClientFactory.createLinkedInApiClient(targetUserLiAccessToken)
Person targetUserLiProrfile=targetUserLiApiClient.getProfileForCurrentUser([ProfileField.ID] as Set)

LinkedInAccessToken currentUserLiAccessToken = new     LinkedInAccessToken(currUserOauthToken, currUserOauthSecret)
LinkedInApiClient currentUserLiApiClient= linkedInApiClientFactory.createLinkedInApiClient(currentUserLiAccessToken)
Person resultProfile =  currentUserLiApiClient.getProfileById(targetUserProfile.id, [ProfileField.ID, ProfileField.RELATION_TO_VIEWER_RELATED_CONNECTIONS] as Set)

List<Person> commonConnections= resultProfile.relationToViewer.relatedConnections.personList
person Manish    schedule 25.09.2013