使用Google Adwords的API屏蔽IP地址

5

有人知道如何使用Google API从我们的Google Adwords帐户中阻止某些IP地址吗?

这篇文章中,您可以看到如何手动执行此操作,但我找不到以编程方式执行此操作的方法。


我也在寻找它。找到了吗? - Micka
2个回答

5

我知道现在有点晚了,但是我也需要这个东西。
我在Google AdWords的这里找到了IpBlock类型。


2

这里有一段我找到的示例代码,稍作改进。需要先引用此代码,然后针对每个要禁止IP的广告系列进行调用。

YourNameSpace\BlockedIP::add($campaignId, $ip);

voila

<?php
/*
    ...
*/

namespace YourNameSpace;

use Google\AdsApi\AdWords\AdWordsServices;
use Google\AdsApi\AdWords\AdWordsSession;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\Common\OAuth2TokenBuilder;
use Google\AdsApi\AdWords\v201802\cm\CampaignCriterionService;
use Google\AdsApi\AdWords\v201802\cm\IpBlock;
use Google\AdsApi\AdWords\v201802\cm\NegativeCampaignCriterion;
use Google\AdsApi\AdWords\v201802\cm\CampaignCriterionOperation;
use Google\AdsApi\AdWords\v201802\cm\Operator;

class BlockedIP {
  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()
        ->withOAuth2Credential($oAuth2Credential)
        ->build();

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接