Uncaught OAuthException - как отловить эту ошибку? - PullRequest
4 голосов
/ 13 декабря 2011

У меня ниже ошибка. Как я должен поймать эту ошибку?

Неустранимая ошибка: Uncaught OAuthException: Ошибка при проверке токена доступа: Пользователь 638720122 не авторизовал приложение 207445576002891. Брошенный в /var/www/clients/client1/web12/web/socialmediaping/fblibrary/base_facebook.php по линии 1039

У меня есть приведенный ниже фрагмент кода, в котором, как я полагаю, я пытаюсь устранить ошибку.

// Attempt to query the graph:
$graph_url = "https://graph.facebook.com/me?"
  . "access_token=" . $access_token;
$response = curl_get_file_contents($graph_url);
$decoded_response = json_decode($response);

//Check for errors 
if ($decoded_response->error) {
    $facebookAuth = FALSE;
}  

Далее я перенаправляю пользователя на Facebook для авторизации, если $ facebookAuth == FALSE, но это не работает, поэтому Что мне делать?

Большое спасибо заранее за вашу помощь.

1 Ответ

7 голосов
/ 13 декабря 2011

Не винт ваш base_facebook.php! Просто используйте блок try / catch вокруг вызовов графа:

try {

    // check if facebook can get user
    $facebookUser = $facebook->getUser();
    $facebookUser = $facebook->api('me?fields=id,first_name,last_name');

} catch (Exception $e) {
    // user is not logged in
}
...