Оказывается, проблема в том, что мне нужно использовать один и тот же объект LinkedInRequestToken
в обеих точках.Для этого я сохранил его в сеансе в первой части:
LinkedInRequestToken requestToken =
service.getOAuthRequestToken(linkedinCallbackURL);
session.setAttribute("requestToken", requestToken); // <== THE BEEF
String authUrl = requestToken.getAuthorizationUrl();
Затем извлек его из сеанса:
LinkedInOAuthService oauthService = LinkedInOAuthServiceFactory.getInstance()
.createLinkedInOAuthService(consumerKey, consumerSecret);
// LinkedInRequestToken requestToken = oauthService.getOAuthRequestToken();
LinkedInRequestToken requestToken =
(LinkedInRequestToken) session.getAttribute("requestToken")
LinkedInAccessToken accessToken = oauthService
.getOAuthAccessToken(requestToken, verifier);
Примечание. Размещение вопроса иответ, потому что я искал много, и никто не нашел эту конкретную проблему.Делая это в духе этот вопрос на Мета .Кроме того, я не ответил на некоторые старые вопросы, потому что эта ошибка может произойти по множеству причин (это как NullPointerException
для LinkedIn API ...), и вопросы, которые я нашел, не имели тех же причин, насколько явидел.