LinkedIn API 403(禁止访问)在任何请求 URL 上,包括 v2



ASP.NET MVC 应用程序中,我正在尝试使用 LinkedIn 进行用户身份验证并获取用户的完整配置文件。

我是我们的OpenAuth ( DotNetOpenAuth and Microsoft.AspNet.Membership.OpenAuth

请求用户数据

  private const string UserInfoEndpoint = "https://api.linkedin.com/v1/people/~" + Fields;
  var uri = BuildUri(UserInfoEndpoint, new NameValueCollection { { "oauth2_access_token", accessToken } }); 
  var webRequest = (HttpWebRequest)WebRequest.Create(uri); 
        using (var webResponse = webRequest.GetResponse())
        using (var stream = webResponse.GetResponseStream())
        {
            if (stream == null)
                return null; 
            using (var textReader = new StreamReader(stream))
            {
                var xml = textReader.ReadToEnd();
                var extraData = XElement.Parse(xml)
                .Elements()
                .ToDictionary(
                    el => el.Name.LocalName,
                    el => el.Value
                ); 
                extraData.Add("accesstoken", accessToken); 
                return extraData;
            }
        }

这使得成功获取用户基本数据。 但是当我像下面这样更改 url 时,它会返回403 Forbidden

private const string UserInfoEndpoint = "https://api.linkedin.com/v2/people/~" + Fields;

private const string UserInfoEndpoint = "https://api.linkedin.com/v2/me/?";

我注意到合作伙伴计划,这是我访问这些网址所需要的吗? 或者这里到底出了什么问题?此文档介绍了 v2 API,但没有介绍合作伙伴计划

如果您使用的是V1(直到3月1日),那么这是有效的:https://api.linkedin.com/v1/people/~此网址与r_basicprofile相关

如果要迁移到 V2,

则不能使用此 URL,因为在 V2 中,您必须获得链接的权限才能使用r_basicprofile

在 V2 中,您可以使用 : r_liteprofile 作为名字,姓氏,个人资料图片,ID 获取电子邮件的r_emailaddress地址

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

相关内容

  • 没有找到相关文章

最新更新