Срок действия токена доступа к Instagram

У меня есть приложение, которое извлекает данные из моей учетной записи Instagram. Я разрешил это приложение один раз и получил токен доступа. Но я волнуюсь, что, если истечет этот токен? Должен ли я разрешать приложение каждый раз, когда токен истекает? Могу ли я получить еще один токен доступа из кода auth? Если нет, что я могу сделать, чтобы приложение всегда извлекало данные из аккаунта без моего участия? Благодарю.

Ответ 1

Но я беспокоюсь, что, если этот токен истекает?

AFAIK, Instagram accesstokens не истекает в настоящее время.

Примечание: Из документов Instagram.

Обратите внимание, что мы не включаем время истечения срока действия. У нашего access_tokens нет явного истечения срока действия, хотя ваше приложение должно обрабатывать случай, когда либо пользователь отменяет доступ, либо мы истекаем токен через некоторое время. В этом случае ваши ответы meta будут содержать "error_type = OAuthAccessTokenError". Другими словами: не предполагайте, что ваш access_token действителен навсегда.

Должен ли я разрешать приложение каждый раз, когда истекает токен?

На данный момент вам не нужно это делать, поскольку токен не истекает. Когда и когда токен истечет в будущем, вам будет отправлен соответствующий код предупреждения или ошибки и сообщение, которое вам нужно обработать.

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

Вы можете попробовать следующее:

  • Используйте sharedpreference для хранения accesstoken.

  • В первый раз, когда вы пытаетесь получить данные, требующие accesstoken (аутентифицированные запросы), сначала проверьте в sharedpreference, хранится ли accesstoken или нет. если да, то вам не нужно входить в систему, просто используйте этот accesstoken. Если у вас нет предпочтения в accesstoken, выполните регистрацию с использованием учетных данных instagram, получите accesstoken, а затем поделитесь им с разделяемыми предпочтениями и используйте это для последующих запросов.

  • Вы можете предоставить вариант выхода из системы instagram, в котором вам просто нужно очистить accesstoken от sharedprefernce.

Надеюсь, это поможет вам.

Ответ 2

Пока недостаточно хорошо документировано, Стоит отметить, что для получения фида сообщений не требуется accessToken.

https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN

также можно назвать передачей только вашего client_id

https://api.instagram.com/v1/users/{user-id}/media/recent/?client_id=CLIENT_ID

Однако это не указано в их документации.

https://instagram.com/developer/endpoints/users/

Ответ 3

токен доступа к Instagram истекает в произвольные моменты времени. Два раза в течение последних 7 месяцев из моего опыта.

Я не нашел способа восстановить токен без моего участия, единственное допустимое решение IMHO - это избежать официального API и использовать что-то вроде: fooobar.com/questions/48451/...

Ответ 4

За последние 3 недели я создавал новый токен несколько раз и срок его действия истекает через 2 дня, но я также замечаю, что срок действия некоторых токенов не истек, которые были созданы до 3 лет. Кроме того, Instagram документы говорят, что токен может истечь в любое время в ближайшее время.

В настоящий момент существует хак, чтобы показать пользователю последнее сообщение, просто добавьте URL с '/? __ a = 1' 'после имени пользователя, например

https://www.instagram.com/vaseem.ishak/?__a=1

Вы получите последнее сообщение пользователя с текстом изображения, без комментариев, как, например, просто копайте немного возврата JSON