调用LinkedIn Advertising API时遭遇「Resource not found」错误求助
调用LinkedIn Advertising API时遭遇「Resource not found」错误求助
Hey there! 看到你在调用LinkedIn Advertising API获取广告活动列表时碰到了「Resource not found」错误,我来帮你梳理几个常见的排查方向,希望能帮到你:
1. 先确认你的应用是否已获得LinkedIn广告API的访问权限
LinkedIn的Advertising API属于受限访问端点,不是创建应用后就能直接用的。你需要在LinkedIn开发者平台提交申请,说明你的使用场景,获得审批后才能访问这些广告相关的资源。如果你的应用还没通过审批,就算token有r_ads权限,调用API也会返回资源不存在的错误。
2. 检查API端点是否正确
确保你调用的是最新的REST API端点,获取广告活动的正确端点是:https://api.linkedin.com/rest/adCampaignsV2。如果你还在使用旧版的v1端点(比如https://api.linkedin.com/v1/adCampaigns),那肯定会返回404,因为旧端点已经被停用了。
3. 验证请求参数与权限
- 确认你调用API时,是否指定了正确的广告账户URN:比如在GET请求的参数里,需要加上
q=search&search.account.valuesList=urn:li:sponsoredAccount:你的广告账户ID,如果没指定或者账户ID错误,LinkedIn找不到对应的资源就会返回404。 - 检查你的Access Token是否真的包含
r_ads权限:可以通过调用https://api.linkedin.com/v2/me?projection=(id,firstName,lastName,emailAddress)来验证token的有效范围,确保r_ads在已授权的scopes里。 - 确认授权的LinkedIn账号是否真的拥有对应广告账户的访问权限:比如这个账号是不是广告账户的管理员、编辑或者查看者,如果账号本身没有权限,也会触发资源不存在的错误。
4. 检查请求头是否符合要求
LinkedIn的新API对请求头有严格要求,调用时必须包含:
LinkedIn-Version:指定API版本,比如202403(建议用最新的稳定版本)Authorization:格式为Bearer 你的Access TokenAccept:设置为application/json
如果缺少这些头信息,或者版本号不正确,也可能导致API返回错误。
最后再核对你的授权流程
你提供的获取授权URL的代码看起来没问题,但要注意:
- 用授权码交换Access Token时,要确保调用的是
https://www.linkedin.com/oauth/v2/accessToken端点,参数正确(包括client_secret、code、redirect_uri这些都要和授权时一致) - 拿到token后,要在有效期内使用,并且确保token没有过期
备注:内容来源于stack exchange,提问作者Alvaro Villadangos
相关产品推荐
相关产品推荐

