Предоставить массив URN для LinkedIn REST API? - PullRequest
1 голос
/ 12 января 2020

Я использую Платформу разработки маркетинга LinkedIn, где я пытаюсь предоставить список URN компании для API Ad Analytics. Однако, когда я пытаюсь предоставить список URN компании, происходит сбой со статусом 400.

Документы конечной точки Analytics Finder

Мой запрос:

GET https://api.linkedin.com/v2/adAnalyticsV2?q=analytics&pivot=CAMPAIGN&dateRange.start.day=1&dateRange.start.month=1&dateRange.start.year=2017&timeGranularity=ALL&companies=urn:li:organization:1234,urn:li:organization:5678

Ответ:

{"message":"Array parameter 'companies' value 'urn:li:organization:1234,urn:li:organization:5678' is invalid. Reason: Deserializing output 'urn:li:organization:1234,urn:li:organization:5678' failed","status":400}

Я также пробовал URL-адрес, кодирующий URL-адрес и предоставляющий список с помощью параметра companies[0], как это делается в других примерах в документации.

Что правильный способ ввода массивов в API-интерфейс LinkedIn?

Редактировать: изменено accounts на companies

Ответы [ 2 ]

0 голосов
/ 14 января 2020

Итак, версия протокола действительно дала мне несколько полезных идей. Существует несколько способов предоставления массивов в параметрах.

Из документов:

Для Restli V1.0 (используется по умолчанию)

GET GET https://api.linkedin.com/people?ids=1&ids=2&ids=3

Для Restli V2 .0, который можно использовать, установив следующий заголовок: X-RestLi-Protocol-Version: 2.0.0

Передать параметры в формате списка.

GET https://api.linkedin.com/v2/people?ids=List(1,2,3,4)

Однако мне не удалось заставить API Analytics Finder работа с Restli V2.0.

0 голосов
/ 14 января 2020

Вам необходимо предоставить список URN организации в кодировке URL для параметра accounts. Используя ваш запрос в качестве примера:

&accounts=List(urn%3Ali%3Aorganization%3A1234,urn%3Ali%3Aorganization%3A5678)

...