Facebook 脱机访问令牌无效时的异常
我知道,即使是从Facebook获得的离线访问令牌也可能无效(例如,如果用户更改了密码)。在这种情况下,我需要捕获抛出的异常,并向我的站点用户提供再次授权 那么,在这种情况下抛出的确切错误代码/消息是什么?我知道这是一个Facebook 脱机访问令牌无效时的异常,facebook,exception-handling,facebook-oauth,Facebook,Exception Handling,Facebook Oauth,我知道,即使是从Facebook获得的离线访问令牌也可能无效(例如,如果用户更改了密码)。在这种情况下,我需要捕获抛出的异常,并向我的站点用户提供再次授权 那么,在这种情况下抛出的确切错误代码/消息是什么?我知道这是一个OAuthException,但无法获取代码。不能仅使用该类型,因为还有许多其他的OAutheException-s 我的计划是:更改base\u facebook.php并在此处添加案例处理代码: protected function throwAPIException($re
OAuthException
,但无法获取代码。不能仅使用该类型,因为还有许多其他的OAutheException
-s
我的计划是:更改base\u facebook.php
并在此处添加案例处理代码:
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;
}
与其更改SDK,不如像这样在其上编写一个包装器
try{
$facebook->api("/me/feed", .... );
}
catch($e){
//Error Handling
}
与其更改SDK,不如像这样在其上编写一个包装器
try{
$facebook->api("/me/feed", .... );
}
catch($e){
//Error Handling
}
万一有人需要,我总算找到了答案。这类OAU的例外情况是
190
。可以从引发的异常中获取,如下所示:
$e->getCode() 万一有人需要,我总算找到了答案。这类OAU的例外情况是
190
。可以从引发的异常中获取,如下所示:
$e->getCode() 对不起,这不是我问题的答案。当然,我要将每个API调用包装在一个try-catch块中!问题是,对于这种身份验证问题,要捕获的确切例外情况是什么……对不起,这不是我问题的答案。当然,我要将每个API调用包装在一个try-catch块中!问题是,对于这类身份验证问题,要捕获的确切例外情况是什么。。。