使用LinkedIn API仅/v2/me可用,/v2/activities返回404错误求助
LinkedIn API /v2/activities接口返回404 RESOURCE_NOT_FOUND问题解决
问题原因
- LinkedIn REST API v2中不存在
/v2/activities这个端点,你调用的是无效路径,因此返回404错误。 - 获取用户动态内容的正确端点是
/v2/ugcPosts(用户生成内容)或/v2/posts(结构化帖子),具体取决于你需要获取的内容类型。 - 调用这些端点需要对应权限,比如
r_member_social(读取动态)或w_member_social(发布动态),若access token无对应权限,会返回权限错误。
代码修正
1. 替换为正确端点并补充参数
修改getActivities方法,使用有效端点并添加必要参数:
async getActivities(personId: string): Promise<any | null> { // 使用ugcPosts端点获取当前用户动态,需传入用户URN格式ID return this.apiCall<any>('/ugcPosts', { q: 'author', author: `urn:li:person:${personId}`, // personId从/me接口获取 projection: '(elements*(id,createdAt,specificContent(com.linkedin.ugc.ShareContent(shareCommentary,shareMediaCategory)),visibility))' }); }
说明:调用该方法前,需先通过
getProfile获取用户的id,再传入生成合法的author参数。
2. 修正拼写错误
错误日志里的LiknedIn是拼写错误,建议修正:
console.error(`LinkedIn API [${endpoint}] failed with error: ${error.response?.data.status} - ${error.response?.data.code} - ${error.response?.data.message}`);
额外注意事项
- 确保你的LinkedIn应用已申请
r_member_social权限,且用户授权时同意了该权限。 - 不同端点参数要求不同,比如
/posts端点的查询参数为authorV2,需对应调整参数格式。
内容的提问来源于stack exchange,提问作者Shachar Cohen
相关产品推荐
相关产品推荐

