facebook营销api异常处理

时间:2016-11-11 06:56:46

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

我正在使用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'及消息'(#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中处理异常的完美方式是什么?

1 个答案:

答案 0 :(得分:0)

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

这些例外始于Facebook /来自Facebook SDK,而来自FacebookAds的例外来自Marketing API SDK。

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

所以现在,您还将查看Marketing API / SDK和常规Facebook SDK的两个文档。我们会收到您的反馈,看看我们是否有机会改进它。