使用Facebook PHP SDK v3(see on 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;
}
}
如果他不是,你產生了「使用Facebook登入」 URL請求的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 ?>
然後,您可以檢索脫機訪問令牌並將其存儲。爲了得到它,請致電:
$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');
希望有所幫助!
mhhh ...似乎你只需要使用$ facebook-> setAccessToken()來設置access_token,就是這樣... – Martin 2011-05-25 11:46:37