Если вы не используете стандартную библиотеку OAuth, вы можете столкнуться с различными подводными камнями при попытке подписать запросы. На странице библиотек и инструментов LinkedIn есть существующая библиотека Android linkedin-j:
https://developer.linkedin.com/documents/libraries-and-tools
При этом, если вы хотите продолжить свою собственную реализацию OAuth, есть несколько вещей, которые вы можете сделать, чтобы попытаться устранить проблемы. Ошибка 401 обычно означает, что подпись OAuth неверна, поэтому я подозреваю, что происходит одно из следующих действий:
- Ваш код повторно использует подпись из предыдущего запроса
- Ваш код делает запрос другого типа (POST vs. GET)
- Вы добавляете параметры запроса напрямую через URL
Каждый из них может привести к генерированию неправильной подписи, если генерирование подписи OAuth выполняется неправильно.
Здесь есть страница с информацией об ошибках OAuth:
https://developer.linkedin.com/documents/common-issues-oauth-authentication
А страница об отладке API-вызовов здесь:
https://developer.linkedin.com/documents/debugging-api-calls
Консоль OAuth Test Console здесь может использоваться для проверки правильности создаваемой подписи для звонка, который вы делаете:
https://developer.linkedin.com/oauth-test-console
Удачи, и если у вас все еще проблемы, попробуйте опубликовать заголовки / тело запроса и заголовки / тело ответа, чтобы можно было устранить неполадки.