2015-09-29 4 views
0

При извлечении информации из API LinkedIn токен доступа будет истек, и приложение не сможет извлечь информацию из API. Эта проблема возникает случайным образом после длительного периода времени. Я пытаюсь определить, может ли это произойти со стороны LinkedIn. Есть ли способ проверить?API LinkedIn: что определяет время истечения срока доступа токена доступа?

+0

У вас возникла эта проблема со специфическими вызовами API? Если да, то какие? – Windle

ответ

0

Согласно LinkedIn documentation, вы должны получить дату истечения срока действия маркера доступа в том же запросе, который получает токен.

Токен доступа Ответ

Успешный Токен доступа запрос будет возвращать объект JSON, содержащий следующие поля:

access_token - маркер доступа для пользователя. Это значение должно быть сохранено в соответствии с вашим соглашением с Условиями использования API.

expires_in - Количество оставшихся секунд с момента его подачи до истечения срока действия маркера. В настоящее время все токены доступа выдаются с 60-дневной продолжительностью жизни.

Одна вещь, чтобы иметь в виду, что маркеры доступа могут быть вручную revoked by the user:

недопустимые токены

Если вы делаете вызов API, используя недействительный маркер, вы получите «401 Несанкционированный» ответ с сервера. Токен может быть недействителен и нуждается в регенерации, потому что:

  • Срок действия истек.
  • Пользователь отменил разрешение, которое они первоначально предоставили вашему приложению.
  • Вы изменили права доступа (область действия), запрашиваемые вашим приложением.

Поскольку предсказуемый время истечения не является единственным фактором, способствующим лексем недействительности, то очень важно, чтобы вы код приложения правильно обрабатывать столкновение с ошибкой 401, перенаправляя пользователя на старте авторизации рабочий процесс.

Одна вещь, не упомянутая на этой странице, как упомянуто @JustinKominar, заключается в том, что действителен только ваш последний токен доступа. Это означает, что запрос на новый токен доступа приведет к аннулированию всех предыдущих, поэтому убедитесь, что ваши токены обновлены!

+2

Это все точная информация, но я бы добавил, что запрос на новый токен доступа приведет к аннулированию ранее выпущенных. Только ваш последний токен действителен, поэтому проверьте свой рабочий процесс, чтобы убедиться, что вы не пытаетесь использовать старые токены (кеш?), Если пользователь запрашивает более новый. –

+0

@JustinKominar Очень хороший момент, я добавил его к сообщению. – mbinette

+0

Спасибо за сообщение. Есть ли способ установить LinkedIn в поле expires_in, чтобы он не заканчивался?У меня нет доступа к коду, но наше приложение извлекает эту информацию из API, и я пытаюсь определить, почему токен должен истечь. – throwmeawayaccount20

Смежные вопросы