在Linkedin API中获取AudienceCountsV2时遇到400错误的请求

时间:2018-09-12 16:35:02

标签: linkedin-api linkedin-jsapi

我正在使用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尝试相同的请求时,我没有遇到问题,并且一切正常。

2 个答案:

答案 0 :(得分:0)

尝试通过更改中的countryGroup名称(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 

答案 1 :(得分:0)

在这种情况下,问题是我这一边的编码没有正确完成。我正在编码所有的“:”符号,而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))))))