Если вы, наконец, хотите использовать PHP, с Facebook PHP SDK v3 ( смотрите на github ), это довольно просто. Чтобы войти в систему с разрешением offline_access
, вы спрашиваете его при создании URL-адреса для входа. Вот как ты это делаешь.
Получить токен автономного доступа
Сначала вы проверяете, вошел ли пользователь в систему:
require "facebook.php";
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET,
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}
Если это не так, вы генерируете URL "Логин с Facebook", запрашивая разрешение offline_access
:
if (!$user) {
$args['scope'] = 'offline_access';
$loginUrl = $facebook->getLoginUrl($args);
}
А затем отобразите ссылку в вашем шаблоне:
<?php if (!$user): ?>
<a href="<?php echo $loginUrl ?>">Login with Facebook</a>
<?php endif ?>
Затем вы можете получить токен автономного доступа и сохранить его. Чтобы получить его, позвоните:
if ($user) {
$token = $facebook->getAccessToken();
// store token
}
Использовать токен автономного доступа
Чтобы использовать токен автономного доступа, когда пользователь не вошел в систему:
require "facebook.php";
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET,
));
$facebook->setAccessToken("...");
И теперь вы можете делать вызовы API для этого пользователя:
$user_profile = $facebook->api('/me');
Надеюсь, это поможет!