我使用的是Facebook营销/图形api v2.8。我已经从这里阅读了异常处理https://developers.facebook.com/docs/php/FacebookRequestException/5.0.0,我正在使用以下代码进行异常处理。
try {
} catch (Facebook\Exceptions\FacebookResponseException $e) {
return $e->getMessage();
} catch (Facebook\Exceptions\FacebookAuthenticationException $e) {
return $e->getMessage();
} catch (Facebook\Exceptions\FacebookAuthorizationException $e) {
return $e->getMessage();
} catch (Facebook\Exceptions\FacebookClientException $e) {
return $e->getMessage();
} catch (Facebook\Exceptions\FacebookOtherException $e) {
return $e->getMessage();
} catch (Facebook\Exceptions\FacebookServerException $e) {
return $e->getMessage();
} catch (Facebook\Exceptions\FacebookThrottleException $e) {
return $e->getMessage();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
return $e->getMessage();
} catch(Exception $e) {
return "error";
}
但我仍然在关注AuthorizationException
未捕获异常,操作失败异常'FacebookAds\Http\Exception\AuthorizationException‘,消息为'(#2663)服务条款未被接受。要接受,请转到https://www.facebook.com/customaudiences/app/tos?act=
我试着把
use Facebook\Exceptions\FacebookResponseException;
use Facebook\Exceptions\FacebookAuthenticationException;
use Facebook\Exceptions\FacebookAuthorizationException;
use Facebook\Exceptions\FacebookClientException;
use Facebook\Exceptions\FacebookOtherException;
use Facebook\Exceptions\FacebookServerException;
use Facebook\Exceptions\FacebookThrottleException;
use Facebook\Exceptions\FacebookSDKException;
但仍然没有收获。
实际上,我想要覆盖最大的错误,以便能够以用户友好的方式显示给用户,这样任何人都可以告诉我我遗漏了什么,或者什么是facebook营销api中处理异常的完美方式?
发布于 2017-05-17 18:58:43
原因是您在代码中混合了两个SDK。一个是通用的Facebook SDK,另一个是Facebook Marketing API SDK (https://github.com/facebook/facebook-php-ads-sdk)。
这些例外以Facebook/开头,来自Facebook SDK,从FacebookAds开始的例外来自Marketing API SDK。
我完全理解这对开发人员来说并不理想。但是你也可以看到我们有一个单独的SDK用于营销API的原因是因为我们的广告数据模型太复杂了,我们需要一个更强类型的SDK来帮助开发人员进行集成。由于很多原因,它不能建立在一般的Facebook SDK之上。
因此,现在,您将看到营销API/SDK的文档和一般的Facebook SDK。我们将收到您的反馈,看看我们是否有机会改进它。
https://stackoverflow.com/questions/40542688
复制