【问题标题】:Getting 400 Bad request while acquiring AudienceCountsV2 in Linkedin API在 Linkedin API 中获取 AudienceCountsV2 时收到 400 Bad request
【发布时间】:2019-02-06 16:17:42
【问题描述】:

我正在使用 LinkedIn API V2,并尝试从我的公司资料中查询 AudienceCountsV2。我正在使用以下教程来构建请求:

https://developer.linkedin.com/docs/guide/v2/ads/audience-counts#targetingCriteriaV2  

这是请求信息:

GET /v2/audienceCountsV2?q=targetingCriteriaV2&targetingCriteria=(include:(and:List((or:(urn%3Ali%3AadTargetingFacet%3Alocations:List(urn%3Ali%3AcountryGroup%3Ana))),(or:(urn%3Ali%3AadTargetingFacet%3Askills:List(urn%3Ali%3Askill%3A17)))))) HTTP/1.1 
Host: api.linkedin.com 
X-Restli-Protocol-Version: 2.0.0 
Authorization: Bearer XXXXXXX 
Cache-Control: no-cache

这是响应信息:

HTTP/1.1 400 Bad Request   
x-restli-gateway-error:"true"
content-type:"application/json" 
date:"Wed, 12 Sep 2018 09:46:05 GMT" 
x-li-fabric:"prod-ltx1" 
transfer-encoding:"chunked" 
connection:"keep-alive" 
x-li-pop:"PROD-IDB2" 
x-li-proto:"http/1.1" 
set-cookie:"lidc="b=TB07:g=1965:u=1401:i=1536745565:t=1536824643:s=AQHBwKwS4Rsf4yI0kKGnz8pQwqOmeVu0"" 
x-li-route-key:""b=TB07:g=1965:u=1401:i=1536745565:t=1536824643:s=AQHBwKwS4Rsf4yI0kKGnz8pQwqOmeVu0"" 
x-li-uuid:"EWbxLvOdUxXAHJ7aEysAAA=="  
serviceErrorCode:0 
message:"Invalid query parameters passed to request"

当我使用 TargetingCriteriaV1 尝试相同的请求时,我没有遇到问题,一切正常。

【问题讨论】:

    标签: linkedin-api linkedin-jsapi


    【解决方案1】:

    尝试通过将瓮中的countryGroup name(na) 更改为(urn%3Ali%3AcountryGroup%3ANA)

    GET /v2/audienceCountsV2?q=targetingCriteriaV2&targetingCriteria=(include:(and:List((or:(urn%3Ali%3AadTargetingFacet%3Alocations:List(urn%3Ali%3AcountryGroup%3ANA))),(or:(urn%3Ali%3AadTargetingFacet%3Askills:List(urn%3Ali%3Askill%3A17)))))) HTTP/1.1 
    

    【讨论】:

    • 问题不在于定位条件值是否区分大小写。如果过滤器区分大小写,那么我会收到更有意义的错误,而不是“参数'targetingCriteria'无效”。定位条件对象构造为 JSON 对象,API 无法识别。如果您有案例中的工作示例,请在此处发布 URL
    • GET /v2/audienceCountsV2?q=targetingCriteriaV2&targetingCriteria=(include:(and:List((or:(urn%3Ali%3AadTargetingFacet%3Alocations:List(urn%3Ali%3AcountryGroup%3ANA))) ,(or:(urn%3Ali%3AadTargetingFacet%3Askills:List(urn%3Ali%3Askill%3A17)))))) HTTP/1.1
    • 我仍然收到相同的错误消息。您也可以发布请求标头吗?我想将它们与我的请求标头进行比较并检查问题是否存在。
    【解决方案2】:

    在这种情况下的问题是我的编码没有正确完成。我正在对所有“:”符号进行编码,而 API 有一个限制,只能对目标标准对象的特定部分进行编码。 例如:

    targetingCriteria=(include:(and:List((or:(urn:li:adTargetingFacet:locations:List(urn:li:countryGroup:na))),(or:(urn:li:adTargetingFacet:skills:List(urn:li:skill:17))))))
    

    被编码为

    targetingCriteria=(include:(and:List((or:(urn%3Ali%3AadTargetingFacet%3Alocations:List(urn%3Ali%3AcountryGroup%3Ana))),(or:(urn%3Ali%3AadTargetingFacet%3Askills:List(urn%3Ali%3Askill%3A17))))))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-30
      相关资源
      最近更新 更多