如何通过LinkedIn API提及关注者?权限与接口调用问题求助
LinkedIn API 获取主页关注者/一度人脉URN用于帖子提及的问题解决
核心问题分析
/connections接口权限限制
r_network权限目前仅对LinkedIn合作伙伴开放,普通第三方应用无法申请,这条路直接放弃。peopleTypeahead接口的正确用法
你的代码问题出在权限与参数的匹配上,分两种场景说明:
场景1:搜索个人一度人脉(memberConnections)
- 必须使用个人身份的access token,主页token无访问个人人脉的权限;
- 需要申请并通过
r_connections权限审核; - 参数
q=memberConnections,无需传递organization字段。
场景2:搜索主页关注者(organizationFollowers)
- 必须使用主页管理员身份的access token;
- 需要申请并通过
r_organization_followers权限审核; - 必须传递
organization参数,值为主页的完整URN(格式如urn:li:organization:xxxxxx,不能只用数字ID); q=organizationFollowers,关键词匹配用户姓名、职位等字段,需确保存在符合条件的关注者。
修正后的代码示例(搜索主页关注者场景)
public function searchByKeywordForOrganizationPage(SocialNetworkPage $page, string $keywords) { $list = []; $url = "https://api.linkedin.com/rest/peopleTypeahead?"; $queryParam = [ 'q' => 'organizationFollowers', 'organization' => 'urn:li:organization:' . $page->getPageId(), // 补充URN前缀 'keywords' => $keywords ]; $url .= http_build_query($queryParam, encoding_type: PHP_QUERY_RFC3986); $result = $this->httpClient->request('GET', $url, [ 'headers' => [ 'X-Restli-Protocol-Version' => '2.0.0', 'LinkedIn-Version' => 202405, 'Authorization' => 'Bearer ' . $page->getAccessToken(), // 确保是主页管理员的token ], ]); return json_decode($result->getBody(), true); }
关于帖子提及的限制
LinkedIn主页发帖并非只能@管理员:
- 可@主页关注者,但需用户隐私设置允许被公开提及;
- 获取的URN必须是有效用户URN(格式如
urn:li:person:xxxxxx),才能在帖子内容中用[[urn:li:person:xxxxxx]]格式完成提及。
额外提示
- 若未通过权限审核,不要尝试爬取LinkedIn前端接口(违反服务条款);
- vanityUrl接口仅支持单个用户查询,无法批量搜索,核心解决方案还是搞定peopleTypeahead的权限与参数配置。
内容的提问来源于stack exchange,提问作者talanon
相关产品推荐
相关产品推荐

