Мы используем Laravel 5.7, PHP 7.1 и XAMPP 3.2.2. Мы хотим создавать кампании Facebook, используя PHP Business SDK и Marketing API.
Кампания успешно создана с использованием следующего исходного кода
/* Start Campaign*/
$fields = array(
);
$params = array(
'name' => $request->campaign_name,
'objective' => 'LINK_CLICKS',
'status' => 'PAUSED',
);
$campaignData = ((new AdAccount($account_id))->createCampaign(
$fields,
$params
)->exportAllData());
/* End Campaign*/
это, я пытаюсь написать исходный код для AdSet, но получаю следующую ошибку: "$ parent_id как параметр конструктора устарел, пожалуйста, старайтесь не использовать это в новом коде".В следующей строке
$adset = new AdSet(null, $account_id);
Ниже вы найдете весь мой исходный код для создания AdSet
$start_time = (new DateTime("+1 week"))->format(DateTime::ISO8601);
$end_time = (new DateTime("+2 week"))->format(DateTime::ISO8601);
$adset = new AdSet(null,$account_id);
$adset->setData(array(
AdSetFields::NAME => 'My Ad Set',
AdSetFields::OPTIMIZATION_GOAL => AdSetOptimizationGoalValues::REACH,
AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
AdSetFields::BID_AMOUNT => 2,
AdSetFields::DAILY_BUDGET => 1000,
AdSetFields::CAMPAIGN_ID => $campaignData['id'],
AdSetFields::TARGETING => $targeting,
AdSetFields::START_TIME => $start_time,
AdSetFields::END_TIME => $end_time,
));
$adset->create(array(
AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED,
));
Пытаясь решить возникшую проблему, я изменил следующее
$adset = new AdSet(null, $account_id);
до
$adset = new AdSet($account_id);
И мой новый исходный код выглядит следующим образом.
$adset = new AdSet($account_id);
$adset->setData(array(
AdSetFields::NAME => 'My Ad Set',
AdSetFields::OPTIMIZATION_GOAL => AdSetOptimizationGoalValues::REACH,
AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
AdSetFields::BID_AMOUNT => 2,
AdSetFields::DAILY_BUDGET => 1000,
AdSetFields::CAMPAIGN_ID => $campaignData['id'],
AdSetFields::TARGETING => $targeting,
AdSetFields::START_TIME => $start_time,
AdSetFields::END_TIME => $end_time,
));
$adset->create(array(
AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED,
));
И теперь я получаю сообщение об ошибке «Объект уже имеет идентификатор»в следующей строке
$adset->create(array(
Не могли бы вы помочь мне узнать, что происходит и где я совершил ошибку?