【问题标题】:Provide array of URNs to LinkedIn REST API?向 LinkedIn REST API 提供一系列 URN?
【发布时间】:2020-01-12 11:27:02
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: rest linkedin linkedin-api


    【解决方案1】:

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

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

    【讨论】:

    • 虽然这种方法很有意义,但它似乎不适用于这个特定的端点。请参阅我的答案以获取替代方案。
    • @lotm 您需要传递以下标头以允许 RestLi v2 格式:X-RestLi-Protocol-Version: 2.0.0
    • 谢谢 我试过了,但现在似乎在抱怨日期的格式...您能否建议日期应如何格式化为 RestLi v2 格式?
    • 您是否尝试过将这种格式用于日期对象? dateRange=(start:(day:28,month:7,year:2019))
    【解决方案2】:

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

    来自文档:

    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

    以 List 格式传递参数。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 2020-05-01
      • 2016-12-12
      • 2023-03-04
      • 2018-03-09
      • 1970-01-01
      相关资源
      最近更新 更多