Мы извлекаем долгоживущий токен доступа из фейсбука, однако нам нужно обновить этот токен автоматически, чтобы он не истекал каждые 60 дней.
Читая документацию, вы говорите, что вы можете обменивать только короткоживущие токены с помощью конечной точки.
Поскольку у нас нет краткосрочного токена, как мы можем сделать это на стороне сервера без необходимости повторной авторизации вручную каждые 60 дней?
это невозможно, продлить токен бесконечно. См. Сценарий 4 здесь https://developers.facebook.com/roadmap/offline-access-removal/ :
Используя новую конечную точку ниже, вы сможете продлить срок действия существующего, не истекшего, недолгого пользователя access_token. Обратите внимание, что конечная точка может использоваться только для расширения недолгого пользователя access_tokens . Если вы передадите access_token с долговременным сроком действия, конечная точка просто передаст тот же самый доступ к вам, не изменяя или не продлевая срок действия.
Чтобы получить долгоживущий пользователь access_token, просто передайте свой собственный client_id (ваш app_id), ваш app_secret и не прошедший срок действия, short-alive access_token в конечную точку ниже. Вам будет возвращен новый долгоживущий пользователь access_token; этот access_token будет существовать в дополнение к короткоживущему access_token, который был передан в конечную точку. Если вы хотите обновить все еще действительный долгоживущий access_token, сначала вам нужно будет получить новый краткосрочный пользователь access_token, а затем вызвать ту же конечную точку ниже. Возвращенный access_token будет иметь новое долговременное время истечения срока действия, однако сам access_token может быть или не быть таким же, как ранее предоставленный долгоживущий access_token.