Если ваше приложение авторизовано пользователем, вы можете получить новый токен доступа с помощью этого javascript:
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
user_id = response.authResponse.userID;
access_token = response.authResponse.accessToken;
}
}
Это не будет запрашивать у пользователя перенаправление в журнал авторизации. Простые вещи, задокументированные в Facebook getLoginStatus
.
Это, конечно, не сработает, если пользователь не вошел в Facebook, не авторизовал ваше приложение и не зашел на вашу страницу (для моих целей это предположение было правильным). Но вы можете запросить разрешение offline_access
и сохранить новый ключ доступа для последующего использования.
Мой вопрос в идеале сказал, что это будет обрабатываться на стороне сервера. К сожалению, поведение этого php:
$access_token = $facebook->getAccessToken();
не идентичен ответу токена доступа, сгенерированному Javascript SDK. См. Этот вопрос.