You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS应用获取LinkedIn页面帖子遇错,求后续解决方案

解决LinkedIn帖子获取失败的问题

先理清两个错误的原因

  • ERR_BLOCKED_BY_CLIENT:大概率是浏览器隐私/广告拦截插件拦截了请求,或是前端直接跨域请求被浏览器限制。
  • 直接访问接口返回401:浏览器地址栏发起请求不会自动携带Authorization请求头,属于正常现象,无需以此判断接口可用性。

具体解决步骤

1. 修正API URL格式

你的authors参数包含多余引号,导致参数解析错误,应修改为:

const API_URL = 'https://api.linkedin.com/v2/ugcPosts?q=authors&authors=urn:li:person:MY_PAGE_ID&count=10&sort=CREATED_DESC';

注意移除MY_PAGE_ID前后的双引号。

2. 检查令牌权限与有效性

  • 确认Access Token包含对应权限:获取个人帖子需**r_member_social**,获取公司页面帖子需r_organization_social。之前仅请求/me只需要r_liteprofile权限,权限不足会导致请求失败。
  • 验证令牌有效性:通过后端发起GET请求到https://api.linkedin.com/v2/me并携带Authorization头,确认能正常返回数据,排除令牌过期或无效问题。

3. 通过后端代理请求(解决跨域与安全问题)

LinkedIn API默认禁止前端直接跨域请求,且令牌暴露在前端有安全风险,正确做法是通过后端中转:

  • 搭建简单后端接口(以Node.js/Express为例),在后端发起请求到LinkedIn API并携带令牌:
const express = require('express');
const axios = require('axios');
const app = express();

app.get('/linkedin-posts', async (req, res) => {
  try {
    const response = await axios.get('https://api.linkedin.com/v2/ugcPosts?q=authors&authors=urn:li:person:MY_PAGE_ID&count=10&sort=CREATED_DESC', {
      headers: {
        'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
        'X-Restli-Protocol-Version': '2.0.0'
      }
    });
    res.json(response.data);
  } catch (error) {
    res.status(error.response.status).json(error.response.data);
  }
});

app.listen(3001, () => console.log('Proxy server running on port 3001'));
  • 前端修改请求地址为自己的后端接口:
useEffect(() => {
  axios.get('http://localhost:3001/linkedin-posts')
    .then(response => {
      console.log("response=", response)
      setPosts(response.data.elements);
    })
    .catch(error => {
      console.log("error=", error);
    });
}, []);

4. 排查浏览器拦截

暂时禁用浏览器的广告拦截器(如AdBlock、uBlock Origin)、隐私保护插件(如Privacy Badger),再测试前端请求,确认是否为插件拦截导致的问题。

内容的提问来源于stack exchange,提问作者leoxrmd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:55:26