首页 > 解决方案 > 从 SharePoint 2013 Web 部件访问linkedIn 2.0 API 时出现 403 禁止错误

问题描述

API:https://api.linkedin.com/v2/me?projection=(id,firstName,lastName)

应用权限:r_basicprofile、r_emailaddress、w_share

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.ContentType = "application/x-www-form-urlencoded";
        //webRequest.Connection = "Keep-Alive";
        webRequest.Headers.Add("Authorization", "Bearer " + accessToken);

        //Stream dataStream = webRequest.GetRequestStream();

        //String postData = String.Empty;
        //byte[] postArray = Encoding.ASCII.GetBytes(postData);

        //dataStream.Write(postArray, 0, postArray.Length);
        //dataStream.Close();

        WebResponse response = webRequest.GetResponse();
        Stream dataStream = response.GetResponseStream();


        StreamReader responseReader = new StreamReader(dataStream);
        String returnVal = responseReader.ReadToEnd().ToString();

标签: linkedin-api

解决方案


如果您使用的是 V2 API 并且您没有获得使用 r_basicprofile 的权限,那么请向linkedin申请使用 r_basicprofile 的权限

或者对 V2 使用 r_liteprofile + r_emailaddress(还要检查您的应用程序中是否存在 r_liteprofile 权限)

r_liteprofile 用于 firstName,lastName,profilePicture,id r_emailaddress 用于获取 emailAddress

检查这个:https ://docs.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/migration-faq?context=linkedin/consumer/context


推荐阅读