Не удается поймать `FacebookAuthenticationException`, но другие исключения подходят - PullRequest
1 голос
/ 25 января 2020

Я пытаюсь получить доступ к API Facebook. Когда я использую токен доступа к странице с истекшим сроком действия, API выдает \Facebook\Exceptions\FacebookAuthenticationException, и я должен получить новый. Тем не менее, я не могу поймать это исключение, только более общие c FacebookSDKException:

<?php
namespace my\company;

require_once __DIR__ . '/vendor/autoload.php';

$fb = new \Facebook\Facebook([
    'app_id' => '<app_id>',
    'app_secret' => '<app_secret>',
    'default_graph_version' => 'v5.0',
]);

$access_token = '<access token>';
$query = '/mypage/feed?message,id';
try {
    $response = $fb->get($query, $access_token);
}
catch (\Facebook\Exceptions\FacebookAuthenticationException $e) {
    // handle it
}

Это не с:

Fatal error:  Uncaught Facebook\Exceptions\FacebookAuthenticationException: Error validating access token: Session has expired on Sunday, 19-Jan-20 09:00:00 PST. The current time is Saturday, 25-Jan-20 06:07:17 PST. in C:\myproject\wp-content\plugins\someplugin\vendor\facebook\graph-sdk\src\Facebook\Exceptions\FacebookResponseException.php:89 Stack trace:
#0 C:\myproject\wp-content\plugins\someplugin\vendor\facebook\graph-sdk\src\Facebook\FacebookResponse.php(210): Facebook\Exceptions\FacebookResponseException::create(Object(Facebook\FacebookResponse))
#1 C:\myproject\wp-content\plugins\someplugin\vendor\facebook\graph-sdk\src\Facebook\FacebookResponse.php(255): Facebook\FacebookResponse->makeException()
#2 C:\myproject\wp-content\plugins\someplugin\vendor\facebook\graph-sdk\src\Facebook\FacebookResponse.php(82): Facebook\FacebookResponse->decodeBody()
#3 C:\myproject\wp-content\plugins\someplugin\vendor\facebook\graph-sdk\src\Facebook\FacebookClient.php(224) in C:\myproject\wp-content\plugins\someplugin\vendor\facebook\graph-sdk\src\Facebook\Exceptions\FacebookResponseException.php on line 89

Однако я могу поймать \Facebook\Exceptions\FacebookSDKException или \Exception отлично, в отличие от этого очень похожего вопроса ! Решение, рекомендованное там, также не работает. Я попытался добавить use Facebook, use \Facebook и несколько вариантов начальных обратных слешей или нет, но я все еще не могу уловить это указанное c исключение. Есть ли что-нибудь, что может вызвать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...