Мы намерены перейти на Facebook PHP SDK 4.0.0 с помощью Graph API v.2.2. Я очень новичок в этом новом SDK для Facebook, и я немного поиграю с ним. В этот момент я пытаюсь получить привилегии, например:Как получить токен доступа пользователя Facebook с помощью нового Facebook SDK
/* PHP SDK v4.0.0 */
/* make the API call */
Facebook\FacebookSession::setDefaultApplication($appID, $appSecret);
$session = new Facebook\FacebookSession($accessToken);
/* PHP SDK v4.0.0 */
/* make the API call */
$request = new Facebook\FacebookRequest(
$session,
'GET',
'/me/permissions'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
Это работает замечательно, если у меня есть правильные значения $appID
, $appSecret
и $accessToken
. Для $appID
и $appSecret
Я не вижу проблем, потому что они являются настройками уровня приложения, полученными на странице разработчиков. Тем не менее, я борюсь за то, как получить $accessToken
. Я тестировал с пользователем, который имеет право на доступ facebook токена и я прочитал значение из базы данных, но мне интересно, как я мог бы получить следующую логику:
- читать маркер доступа из базы данных если она существует
- проверить действительность токена доступа
- , если он является недействительным, получить новый маркер доступ
- запроса долгоживущего маркера доступа
- установить значение
$accessToken
действительного маркер доступа, полученный из любой базы данных или , если это недействительно/несущественно, получено через Facebook SDK.
Обратите внимание, что у меня нет проблем с использованием базы данных, поэтому мы можем пропустить шаги по загрузке/сохранению токена доступа из/в базу данных. Кто-нибудь знает, как я могу это реализовать?
Класс '' FacebookSession' имеет метод 'getToken' - поэтому, как только вы успешно пройдете процесс входа в систему, он предоставит вам токен доступа пользователя. Что касается проверки того, является ли токен еще действительным, он также имеет метод 'validate'. – CBroe
Я видел метод, но в случае, с которым я работаю, пользователь уже зарегистрировался в Facebook. Мне действительно нужно войти в систему, чтобы получить уже действующий токен доступа? Я думал, что было бы лучше не входить в Facebook, если пользователь уже вошел в систему. –
Предположим, что у меня есть токен доступа, прочитанный из базы данных. Я хотел бы проверить его достоверность и, если он уже недействителен, получить новый токен доступа к пользователю facebook. Это невозможно без входа в систему с помощью facebook? –