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

从SharePoint 2013 Web部件访问LinkedIn 2.0 API时遭遇403 Forbidden错误

解决SharePoint 2013 Web部件调用LinkedIn 2.0 API返回403 Forbidden的问题

先给你梳理下这个403错误最可能的几个原因,以及对应的解决办法,都是踩过LinkedIn API坑的经验总结:

1. 权限不匹配:v1 vs v2 API权限混淆

LinkedIn的v1和v2 API权限是不通用的,你当前用的r_basicprofile是v1版本的权限,但调用的是v2的/me接口,这个接口需要的是v2的r_liteprofile权限。

解决步骤:

  • 登录LinkedIn开发者后台,把应用的权限从r_basicprofile替换成r_liteprofile
  • 重新引导用户授权,获取新的access token(旧的token没有新权限,会继续报错)

2. Access Token的Scope未包含正确权限

就算你在开发者后台配置了权限,也要确保获取token时的请求里,scope参数包含了r_liteprofile(如果需要邮箱还要加r_emailaddress)。比如授权URL里的scope应该是:
scope=r_liteprofile%20r_emailaddress%20w_share

3. 缺失LinkedIn v2 API强制要求的请求头

LinkedIn v2 API要求必须携带X-RestLi-Protocol-Version头,否则会拒绝请求。在你的代码里添加这个头:

webRequest.Headers.Add("X-RestLi-Protocol-Version", "2.0.0");

另外,默认的.NET HttpWebRequest的User-Agent可能会被LinkedIn的安全机制拦截,建议手动设置一个合规的User-Agent:

webRequest.UserAgent = "SharePoint2013-WebPart/1.0";

4. 验证SharePoint服务器的.NET框架与TLS支持

你已经设置了SecurityProtocolType.Tls12,这是对的,但要确认你的SharePoint 2013服务器上的.NET框架版本至少是4.5.2(4.5本身对TLS1.2的支持有限)。如果是4.5版本,可能需要升级到4.5.2或更高,或者通过修改注册表强制启用TLS1.2。

修正后的完整代码示例

把上面的修改整合后,你的代码应该是这样的:

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
string requesturl = "https://api.linkedin.com/v2/me?projection=(id,firstName,lastName)";

HttpWebRequest webRequest = System.Net.WebRequest.Create(requesturl) as HttpWebRequest;
webRequest.Method = "GET";
webRequest.Host = "api.linkedin.com";
webRequest.UserAgent = "SharePoint2013-WebPart/1.0";
webRequest.Headers.Add("Authorization", "Bearer " + accessToken);
webRequest.Headers.Add("X-RestLi-Protocol-Version", "2.0.0");

WebResponse response = webRequest.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader responseReader = new StreamReader(dataStream);
String returnVal = responseReader.ReadToEnd().ToString();

先按这个顺序排查,最可能的问题就是权限不匹配和缺失请求头,先解决这两个试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:38:38