Google Adwords API Добавить несколько критериев - PullRequest
0 голосов
/ 28 мая 2020

Я нашел рабочий код для блокировки IP-адресов в моей кампании. Мой код:

  public static function runExample(AdWordsServices $adWordsServices,
        AdWordsSession $session,
        $campaignId,
        $ip) {

    $campaignCriterionService =
        $adWordsServices->get($session, CampaignCriterionService::class);


    $campaignCriteria = [];


   // Add a negative campaign criterion.
    $ipBlock = new IpBlock();
    $ipBlock->setIpAddress($ip);
    $negativeCriterion = new NegativeCampaignCriterion();
    $negativeCriterion->setCampaignId($campaignId);
    $negativeCriterion->setCriterion($ipBlock);

    $operation = new CampaignCriterionOperation();
    $operation->setOperator(Operator::ADD);
    $operation->setOperand($negativeCriterion);
    $operations[] = $operation;

    $result = $campaignCriterionService->mutate($operations);

    // Print out some information about added campaign criteria.
    foreach ($result->getValue() as $campaignCriterion) {
      printf(
          "Campaign targeting criterion with ID %d and type '%s' was added.\n",
          $campaignCriterion->getCriterion()->getId(),
          $campaignCriterion->getCriterion()->getType());
    }
  } 

  public static function add($campaignId, $ip) {
    // Generate a refreshable OAuth2 credential for authentication.
    $oAuth2Credential = (new OAuth2TokenBuilder())
        ->fromFile()
        ->build();

    // Construct an API session configured from a properties file and the OAuth2
    // credentials above.
    $session = (new AdWordsSessionBuilder())
        ->fromFile('adsapi_php.ini')
        ->withOAuth2Credential($oAuth2Credential)
        ->build();

    self::runExample(new AdWordsServices(), $session, $campaignId, $ip);
  }

Я хочу добавлять / удалять около 100 IP каждый день. Для l oop хорошее решение? Если нет, как это сделать лучше? Я хочу обновить полный список критерия IP_BLOCK.

...