我的Facebook PHP SDK應用程序登錄到Facebook並收到access_token。如何使用Facebook PHP SDK獲取access_token的「expires」參數的值?
如何在以後使用PHP SDK獲取「expires」參數的值?
我的Facebook PHP SDK應用程序登錄到Facebook並收到access_token。如何使用Facebook PHP SDK獲取access_token的「expires」參數的值?
如何在以後使用PHP SDK獲取「expires」參數的值?
Facebook的API提供如所陳述在這裏在其響應中的access_token沿期滿參數:https://developers.facebook.com/docs/authentication/
除了訪問令牌(所述的access_token參數),所述響應包含的秒數,直到令牌到期(expires參數)。一旦令牌到期,您將需要重新運行上述步驟以生成新的代碼和access_token,但如果用戶已經授權了您的應用,則不會再提示他們這樣做。如果您的應用程序需要具有無限到期時間的訪問令牌(可能在用戶未使用應用程序後代表用戶執行操作),則可以請求offline_access權限。
如果你想獲得剩餘的訪問令牌的時候,我不相信,Facebook甚至有通過API的方法爲你做到這一點。只需申請一個新的訪問令牌或請求上述參考文獻中記錄的「offline_access」令牌更容易。
如何使用Facebook PHP SDK請求新的訪問令牌? – property2616 2012-02-26 15:51:39
offline_access is deprecated https://developers.facebook.com/docs/offline-access-deprecation/ – property2616 2012-02-26 15:55:24
檢索與Facebook的PHP SDK中的「過期」的參數,你需要幾行添加到SDK裏面提供的base_facebook.php腳本:
//base_facebook.php
//At Line 728
if (!isset($response_params['access_token'])) {
return false;
}
//Add these two lines here
$_SESSION['token_created_time'] = time();
$_SESSION['token_expires'] = $response_params['expires'];
return $response_params['access_token'];
一旦你與你的應用程序連接,您可以將您的令牌到期之前與以下訪問您的「到期」參數和剩餘時間:
//Your "expires" parameter :
echo $_SESSION['token_expires'];
//The remaining time before your token expires :
echo $_SESSION['token_expires'] + $_SESSION['token_created_time'] - time();
我希望這會有所幫助。
具有訪問令牌的響應需要另一個名爲* expires *的參數。你可以發佈你正在使用的代碼嗎? – 2012-02-25 20:38:53
Nitzan Tomer, 我想在晚些時候獲得「expires」的價值,而不是在登錄時。例如,在星期一,我使用Facebook PHP SDK登錄Facebook。在週二,我想使用Facebook PHP SDK獲取「expires」的價值。 <?php require_once(「php-sdk/src/facebook.php」); $ facebook = new Facebook(array( 'appId'=>'...', 'secret'=>'...', )); $ access_token = $ facebook-> getAccessToken(); echo $ access_token; ?> – property2616 2012-02-26 15:25:42