9
Karma
6.4
Rating
Adam Leos @adam4leos

Software Engineer

Обходим лимит поиска LinkedIn, играя с API

0
Прошу прощения за задержку, но так как запросов на дополнение было очень много, то пришлось делать качественно, а не просто добавить пару кнопок и сотню багов.

Альфа версия готова, последний раздел статьи обновлен.
Ознакомится и скачать дополнение можно здесь adam4leos.github.io (бесплатно и даже без майнеров)

Так же буду рад любым предложениям/критике/багрепортам, так как работу над дополнением продолжаю и буду выкладывать новые версии.

cc KMU win32nipuh shuvaevgl

Обходим лимит поиска LinkedIn, играя с API

Обходим лимит поиска LinkedIn, играя с API

+2
Огромное спасибо за ответ и, в частности, за то, что передали это ответственным за поиск. Очень интересно. Только что-то не сходится:

1) Как вы верно определили, social proof — это профили из общих контактов. Их показывает перед кол-вом общих контактов, и приходит их до трех на каждый профиль выдачи.
Пример
up-to-three-social-proofs

Но дело в том, что эти socialproof не являются самостоятельными профилями в выдаче, а лишь дополнительные данные одного из полей у каждого профиля из результата поиска.
Что в объектах socialproof
what-is-inside-social-proof


2) Так как уже новый месяц, значит лимит у меня обнулили. Теперь мы можем сравнить результат поиска сейчас, без лимита, с результатом поиска из статьи, когда был лимит и я его обходил. Если верить ответу ребят из LinkedIn, то совпасть может до трех человек, т.к. тогда у меня был лимит и остальные люди там из socialproof.
Но это не так
Note: пускай вас не смущает небольшое расхождение, LinkedIn постоянно ранжирует выдачу в зависимости от ваших действий (можете убедиться самостоятельно: совершаете поиск и запоминаете его результат, затем делаете несколько поисков по разным странам и повторяте первый)

compare-limited-result-with-unlimited


3) Так как все скриншоты в статье сделаны во время одной сессии, те же самые выводы можно сделать и по статье, ведь если предположить, что с лимитом я получал людей из socialproof, то это не так по ряду причин:

* имена людей в socialproff (первый скриншот) не совпадали с теми, кто у меня был в выдаче (последний скриншот);
* люди в выдаче не были моими контактами, потому что была активна кнопка connect (да, в расширении я добавил ей полноценный функционал), а в socialproof — лишь общие знакомые
да, если их нет, в поле пустой массив
empty-social-proof


Почему разработчики так вам ответили, я кажется догадываюсь. Дело в том, что в новом формате (как упоминалось в статье, это запрос с заголовком 'Accept: 'application/vnd.linkedin.normalized+json+2.1'), действительно приходит целая пачка профилей, и среди них действительно есть профили из socialproof.
Пример такого ответа
old-format-response

Но в статье, как и писал, я не использовал этот заголовок и там совершенно другой формат ответа. И вот там, судя по многочисленным фактам, уже есть дыра.
Пример старого формата, без заголовка