LinkedIn API集成遇304 Not Modified:角色变更请求失败
问题
尝试将用户角色从管理员变更为DIRECT_SPONSORED_CONTENT_POSTER时,调用LinkedIn的organizationAcls API收到304 Not Modified响应。
API调用地址:https://api.linkedin.com/rest/organizationAcls/(organization:urn%3Ali%3Aorganization%3AXXXXXXXXX,role:DIRECT_SPONSORED_CONTENT_POSTER,roleAssignee:urn%3Ali%3Aperson%3XXXXXXXXX)
请求体:
{"state":"REQUESTED","role":"DIRECT_SPONSORED_CONTENT_POSTER","roleAssignee":"urn:li:person:XXXXXXXXXXX","organization":"urn:li:organization:XXXXXXXXX"}
收到的响应:
response: { status: 304, statusText: 'Not Modified', headers: [Object], config: [Object], request: [ClientRequest], data: '' }
可能的原因及解决办法
- 资源已处于目标状态:304响应通常意味着服务器上该角色的状态与你请求修改的状态完全一致。检查该用户的
DIRECT_SPONSORED_CONTENT_POSTER角色是否已经是REQUESTED状态,或之前已提交过相同请求。 - 请求方法错误:确认使用
PUT请求(LinkedIn文档规定修改organizationAcls需用PUT方法),误用GET或其他方法可能触发缓存型304响应。 - 缓存头部干扰:检查请求是否携带
If-Modified-Since或If-None-Match这类缓存相关请求头,服务器会基于这些头部判断资源未修改并返回304,移除后重新请求。 - URN参数不匹配:核对请求URL中的organization、roleAssignee的URN与请求体中的是否完全一致,任何字符差异都可能导致服务器判定资源状态无需变更。
内容的提问来源于stack exchange,提问作者SANDHYA LATHA
相关产品推荐
相关产品推荐

