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) {
// The access token we have is not valid
$user = null;
}
}
offline_access
そうでない場合は、許可を求める「Facebookでログイン」URLを生成します。
if (!$user) {
$args['scope'] = 'offline_access';
$loginUrl = $facebook->getLoginUrl($args);
}
次に、テンプレートにリンクを表示します。
<?php if (!$user): ?>
<a href="<?php echo $loginUrl ?>">Login with Facebook</a>
<?php endif ?>
次に、オフラインアクセストークンを取得して保存できます。入手するには、次の電話番号に電話してください。
$facebook->getAccessToken()
オフラインアクセストークンを使用する
ユーザーがログインしていないときにオフラインアクセストークンを使用するには:
require "facebook.php";
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET,
));
$facebook->setAccessToken("...");
そして今、あなたはこのユーザーのためにAPI呼び出しをすることができます:
$user_profile = $facebook->api('/me');
お役に立てば幸いです。