API LinkedIn 403 (запрещено) для любого URL запроса, включая v2 - PullRequest
0 голосов
/ 08 января 2019

в приложении ASP.NET MVC Я пытаюсь использовать LinkedIn для аутентификации пользователя и получить полный профиль пользователя.

Я использую OpenAuth (DotNetOpenAuth и 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/?";

Я заметил о партнерской программе, это то, что мне нужно для доступа к этим URL? или что тут не так? Это документация об API v2, но ничего о партнерской программе

1 Ответ

0 голосов
/ 09 января 2019

если вы используете V1 (до 1 марта), то это действительно: https://api.linkedin.com/v1/people/~ Этот URL связан с r_basicprofile

если вы переходите на V2, вы не можете использовать этот URL, потому что в V2 вы должны получить разрешение на использование r_basicprofile

в V2 вы можете использовать: r_liteprofile для firstName, lastName, profilePicture, id r_emailадрес для получения emailAddress

Проверьте это: https://docs.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/migration-faq?context=linkedin/consumer/context

...