API LinkedIn: Как обновить токены доступа из консольного приложения
В LinkedIn API токены доступа истекают через 60 дней, я хочу обновить их за 60 дней до истечения срока их действия в консольном приложении. Я просмотрел этот документ: https://developer.linkedin.com/blog/tips-and-tricks-refreshing-access-token, и я также просмотрел много сообщений на этом форуме, но похоже, что процесс обновления еще ясен для меня.
Обратите внимание: мне нужно обновить токены доступа из консольного приложения - это не веб-сайт, это инструмент, работающий в бэкэнде, у него нет файлов cookie и я не могу открыть веб-страницу, чтобы попросить пользователя войти в систему.
И если есть пример кода (не для веб-сайта), который должен быть лучше, например: C# или Java-код.
1 ответ
Вы можете использовать curl для достижения этой цели. Для любого языка программирования, который вы используете, должна быть соответствующая библиотека curl.
Это работает следующим образом:
- Вы отправляете запрос POST
https://api.linkedin.com/uas/oauth/requestToken
- Вы получите обратно токен запроса. Используйте этот токен вместо
XXX
в следующем вызове:https//www.linkedin.com/uas/oauth/authenticate?oauth_token=XXX
- Вы получите нужный вам ответ, который включает в себя токен доступа, который вам нужно сохранить. Это не истекает в течение следующих 60 дней.
Если бы вы могли подробно остановиться на ваших проблемах, это, безусловно, помогло бы.
Теперь я понимаю, что вы имеете в виду. Linkedin не позволяет вам и никогда не позволит вам сделать это. Причина истечения срока действия маркеров доступа заключается в том, чтобы добавить дополнительный уровень защиты конфиденциальности для пользователей. Linkedin никогда не захочет, чтобы вы обращались к данным пользователя, если пользователь не использует ваше приложение. Конечно, может возникнуть ситуация, когда с их стороны не требуется никаких действий, это единственный недостаток. Поэтому вам нужно будет дать им повод посетить ваше приложение хотя бы один раз за время существования каждого токена.
Надеюсь, это поможет.