Как бы вы выполнили вызов `debug_token`, используя facebook php sdk?

Согласно документации, конечная точка выглядит

GET /debug_token? input_token={input-token}& access_token={access-token} 

где

input_token: токен доступа, который вы хотите получить информацию о
access_token : токен доступа к вашему приложению или действительный токен доступа пользователя от разработчика приложения

Предполагая, что у меня нет «действительного токена доступа пользователя от разработчика приложения» – только потому, что я не хочу обновлять его каждые 2 месяца и всегда помню о том, как бы я его выполнил, используя «токен доступа к приложениям» «?

Метод getApplicationAccessToken() защищен, поэтому нет доступа к нему, не переуступая его публике.

Любое элегантное решение, которое мне не хватает?

PS: пример вызова, который потерпит неудачу: «Вы должны предоставить токен доступа к доступу или токен доступа пользователя, который является владельцем или разработчиком приложения» из-за отсутствия токена доступа:

 $tokenDebug = $fb->api('debug_token', array( 'input_token' => $token, )); 

PPS: «интересная» вещь заключается в том, что ошибка сверху будет отображаться не для каждого $token а для некоторых, и я не вижу никакого очевидного различия между токенами, которые терпят неудачу и что это удается.

PPPS: $tokenтокен доступа пользователя

PPPPS: создан запрос функции для FB PHP SDK https://developers.facebook.com/bugs/637897982899835

PPPPPS: Возможно, лучше было бы создать запрос на перенос, но это 1:30 утра, и я слишком устал от этого

Хорошо, поэтому, если вам нужен токен доступа к приложению, всегда работает app_id|app_secret (оба значения, объединенные с символом трубы в середине).

Метод getApplicationAccessToken похоже, был защищен в PHP SDK до 3.2.2, тогда как getAppId и getAppSecret уже доступны в этой версии; поэтому они могут быть альтернативой жесткому кодированию идентификатора и секретности.

PHP SDK имеет метод getOAuth2Client() , который возвращает экземпляр \Facebook\Authentication\OAuth2Client .

У этого есть метод debugToken($accessToken) , который возвращает экземпляр \Facebook\Authentication\AccessTokenMetadata который содержит данные о токен доступа.

 $appid = '123456789'; $appsecret = 'foobar'; $api = new Facebook(['app_id' => $appid, 'app_secret' => $appsecret]); $oauth = $api->getOAuth2Client(); $meta = $oauth->debugToken($accessToken); $meta->validateAppId($appid); // Will throw a FacebookSDKException if invalid $meta->getIsValid(); // boolean $meta->getExpiresAt(); // \DateTime|null