向 LinkedIn REST API 提供 URN 数组?

Provide array of URNs to LinkedIn REST API?

我正在使用 LinkedIn 营销开发平台,我正在尝试向 Ad Analytics API 提供公司 URN 列表。但是,当我尝试提供公司 URN 列表时,它失败了,状态为 400。

Analytics Finder endpoint docs

我的要求:

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] 提供列表,就像在文档中的其他示例中所做的那样。

将数组输入 LinkedIn 的正确方法是什么 API?

编辑:将 accounts 更改为 companies

您需要向 accounts 参数提供 URL 编码组织 URN 的列表。以您的请求为例:

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

所以 Protocol Version 实际上给了我一些有用的见解。有几种方法可以在参数中提供数组。

来自文档:

对于Restli V1.0(默认使用)

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

对于Restli V2.0,您可以通过设置以下header来使用:X-RestLi-Protocol-Version: 2.0.0

以列表格式传递参数。

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

但是,我还没有设法让 Analytics Finder API 与 Restli V2.0 一起工作。