Je sais que même le jeton offline_access obtenu de Facebook peut être invalide (dans le cas où l'utilisateur a changé de mot de passe par exemple). Dans ce cas, je dois attraper l'exception levée et offrir à l'utilisateur de mon site d'autoriser à nouveau.Facebook OAuthException lorsque le jeton offline_access est invalide
Alors, quel est le code d'erreur exact/message lancé dans ce cas? Je sais que c'est un OAuthException
, mais n'a pas pu obtenir le code. Ne peut pas utiliser seulement le type, car il y a beaucoup d'autres OAuthException
-s.
Mon plan est le suivant: changer le base_facebook.php
et ajoutez le code de poignée-ing cas ici:
protected function throwAPIException($result) {
$e = new FacebookApiException($result);
switch ($e->getType()) {
// OAuth 2.0 Draft 00 style
case 'OAuthException':
// OAuth 2.0 Draft 10 style
/*
* Need to add an appropriate case here.
*/
case 'invalid_token':
$message = $e->getMessage();
if ((strpos($message, 'Error validating access token') !== false) ||
(strpos($message, 'Invalid OAuth access token') !== false)) {
$this->setAccessToken(null);
$this->user = 0;
$this->clearAllPersistentData();
}
}
throw $e;
}
désolé, mais ce n'est pas la réponse à ma question. Bien sûr, j'allais emballer chaque appel API dans un bloc try-catch! La question était quelle est l'exception exacte à attraper pour ce genre de problèmes d'authentification ... – ArVan