如何使用PHP获取Facebook Marketing API中的广告系列列表

时间:2017-02-14 02:00:10

标签: php facebook

高级谢谢你花时间回答这个问题。 我想在facebook营销API中检索我的所有广告系列列表。

这是我的代码:

use FacebookAds\Object\AdUser;

use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdAccountFields;

use FacebookAds\Object\Campaign;
use FacebookAds\Object\AdCampaign;
use FacebookAds\Object\Fields\CampaignFields;
use FacebookAds\Object\Fields\AdCampaignFields;

use FacebookAds\Object\Fields\AdsInsightsFields;

use FacebookAds\Object\Fields\AdSetFields;

$account = new AdAccount($account_id);
$params = array(
    'time_interval' => array(
        'day_start' => array('year' =>'2015', 'month'=> '5', 'day'=>'1'),
        'day_stop' => array( 'year'=>'2015', 'month'=>'5', 'day'=>'31')
    ),
    'limit' => 500,
);
$fields = array(
    AdCampaignFields::NAME, /* <--- this is the error */
    AdCampaignFields::OBJECTIVE,
    AdCampaignFields::STATUS,
);

$campaigns = $account->getAdCampaigns($fields,$params);
print_r($campaigns);

现在没有显示结果,而是出现错误:

[14-Feb-2017 01:26:55 UTC] PHP Fatal error:  Class 'FacebookAds\Object\Fields\AdCampaignFields' not found in /home/rbadmin17/public_html/test_17/index.php on line 98

我已经打电话给&#34; AdCampaignFields&#34;并且仍然说没有找到课程。

感谢您的帮助...

1 个答案:

答案 0 :(得分:1)

您的代码看起来正确,但AdCampaignFields类尚未存在于最新的SDK中,并被CampaignFields类取代(您的代码实际上并不需要这样做)。

您的代码应该只删除行:

use FacebookAds\Object\Fields\AdCampaignFields;

编辑:事实上,不推荐使用FB doc的一些示例。只需查看SDK文件夹,即可在遇到此类错误时自行查看。有时它只是一个已被更改的类名。