Долгосрочные маркеры доступа

По умолчанию маркеры доступа пользователей Threads краткосрочные и действуют один час. Однако их можно обменять на долгосрочные.

Долгосрочные маркеры действуют 60 дней и могут обновляться, если с момента их получения прошло не менее 24 часов, срок их действия ещё не истек, а пользователь предоставил приложению разрешение threads_basic. Маркер действует в течение 60 дней с момента обновления. Если не обновить маркер в течение 60 дней, он перестанет действовать, и обновить его уже не удастся.

Теперь можно обновлять долгосрочные маркеры и для закрытых профилей Threads. Кроме того, разрешения, предоставленные приложениям пользователями с закрытыми профилями, теперь действуют 90 дней.

Ограничения

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

Получение долгосрочного маркера

Чтобы обменять краткосрочный маркер пользователя Threads на долгосрочный, используйте конечную точку GET /access_token. Получив долгосрочный маркер, вы сможете использовать его в серверных запросах и пересылать в клиент.

Запрос должен выполняться на сервере и содержать:

  • действительный (с неистекшим сроком действия) краткосрочный маркер доступа пользователя Threads;
  • секрет вашего приложения Threads (Панель приложений > Настройки приложения > Базовые > Секрет приложения Threads).

Параметры

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

ИмяОписание

client_secret

Строка

Обязательный параметр.
Секрет вашего приложения Threads (Панель приложений > Настройки приложения > Базовые > Секрет приложения Threads).

grant_type

Строка

Обязательный параметр.
Установите значение th_exchange_token.

access_token

Строка

Обязательный параметр.
Действующий краткосрочный маркер пользователя Threads, который нужно обменять на долгосрочный.

Пример запроса

curl -i -X GET "https://graph.threads.net/access_token
  ?grant_type=th_exchange_token
  &client_secret=<THREADS_APP_SECRET>
  &access_token=<SHORT_LIVED_ACCESS_TOKEN>"

Пример ответа

{
  "access_token": "<LONG_LIVED_USER_ACCESS_TOKEN>",
  "token_type": "bearer",
  "expires_in": 5183944  // number of seconds until token expires
}

Обновление долгосрочного маркера

Чтобы обновить действующий (с неистекшим сроком действия) долгосрочный маркер доступа пользователя Threads, используйте конечную точку GET /refresh_access_token. Обновленный долгосрочный маркер будет работать ещё 60 дней. Если не обновить его за эти 60 дней, он перестанет действовать.

Запрос должен содержать следующие параметры:

  • действительный (с неистекшим сроком действия) долгосрочный маркер доступа пользователя Threads.

Параметры

ИмяОписание

grant_type

Строка

Обязательный параметр.
Установите значение th_refresh_token.

access_token

Строка

Обязательный параметр.
Действительный (с неистекшим сроком действия) долгосрочный маркер, который необходимо обновить.

Пример запроса

curl -i -X GET "https://graph.threads.net/refresh_access_token
  ?grant_type=th_refresh_token
  &access_token=<LONG_LIVED_ACCESS_TOKEN>"

Пример ответа

{
  "access_token": "<LONG_LIVED_USER_ACCESS_TOKEN>",
  "token_type": "bearer",
  "expires_in": 5183944 // number of seconds until token expires
}