【问题标题】:facebook marketing api exception handlingfacebook营销api异常处理
【发布时间】:2016-11-11 06:56:45
【问题描述】:

我正在使用 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

未捕获的异常,操作 failedexception 'FacebookAds\Http\Exception\AuthorizationException' with message '(#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 中处理异常的完美方式是什么?

【问题讨论】:

  • 您确定您尝试在正确的位置捕获该异常吗?
  • 无论如何,catch(Exception $e) 将捕获上面更具体的行未捕获的任何异常。因此,如果您仍然因为未捕获的异常(?)而出现致命错误 - 那么该异常确实发生在其他地方。
  • 好的,我尝试识别它

标签: facebook-graph-api facebook-php-sdk facebook-marketing-api


【解决方案1】:

原因是您在代码中混合了两个 SDK。一个是通用的 Facebook SDK,另一个是 Facebook Marketing API SDK (https://github.com/facebook/facebook-php-ads-sdk)

那些以 Facebook/ 开头的例外来自 Facebook SDK,而那些以 FacebookAds 开头的例外来自 Marketing API SDK。

我完全理解这对开发人员来说并不理想。但是你也可以看到我们有一个单独的 SDK for Marketing API 的原因是因为我们的广告数据模型太复杂了,我们需要一个更强大的类型的 SDK 来帮助开发人员进行集成。由于很多原因,它不能建立在通用 Facebook SDK 之上。

所以现在,您还需要查看 Marketing API/SDK 和通用 Facebook SDK 的文档。我们会收到您的反馈,看看我们是否有机会改进它。

【讨论】:

    猜你喜欢
    • 2022-06-29
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多