Как получить значение параметра «expires» для access_token с помощью Facebook PHP SDK? - PullRequest
0 голосов
/ 26 февраля 2012

My Facebook PHP SDK-приложение вошло в Facebook и получило access_token.

Как получить значение параметра "expires" позже, используя PHP SDK?

Ответы [ 2 ]

2 голосов
/ 09 июля 2012

Чтобы получить параметр «expires» с помощью Facebook PHP SDK, вам нужно добавить несколько строк в скрипт base_facebook.php, предоставленный внутри SDK:

//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'];

После подключения к вашему приложению вы можете получить доступ к параметру «expires» и оставшемуся времени до истечения срока действия вашего токена:

//Your "expires" parameter :
echo $_SESSION['token_expires'];

//The remaining time before your token expires :
echo $_SESSION['token_expires'] + $_SESSION['token_created_time'] - time();

Надеюсь, это поможет.

2 голосов
/ 26 февраля 2012

Facebook API предоставляет параметр expires вместе с access_token в своем ответе, как указано здесь: https://developers.facebook.com/docs/authentication/

В дополнение к токену доступа (параметр access_token), ответ содержит номерсекунд до истечения срока действия токена (параметр expires).Когда срок действия токена истечет, вам нужно будет повторить шаги, описанные выше, чтобы сгенерировать новый код и access_token, хотя, если пользователь уже авторизовал ваше приложение, ему не будет предложено сделать это снова.Если вашему приложению нужен токен доступа с неограниченным сроком действия (возможно, для выполнения действий от имени пользователя после того, как оно не использует ваше приложение), вы можете запросить разрешение offline_access.

enter image description here

Если вы пытаетесь получить оставшееся время для токена доступа, я не верю, что у Facebook даже есть метод через API для вас, чтобы сделать это.Проще просто запросить новый токен доступа или запросить токен offline_access, который также задокументирован в приведенной выше ссылке.

...