OAuth 2.0 позволяет «обновлять токены», которые будут делать именно то, что вы хотите (нажмите конечную точку токена доступа для нового токена). Однако Facebook не поддерживает их.
Если вы хотите получить доступ после первоначального входа пользователя, у вас есть три варианта:
1 / Используйте библиотеку JavaScript FB для запроса доступа в iframe. Он не использует OAuth (пока), но сделает это с минимальным вмешательством пользователя.
2 / Снова перенаправить пользователя на конечную точку OAuth. Если они уже авторизовали запрошенные области действия, они сразу же вернутся назад.
3 / Запрос расширенного разрешения «offline_access». Это должно использоваться только редко.