使用API​​封锁Google adwords的IP地址

时间:2013-04-17 08:43:52

标签: google-adwords

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

以下是关于如何手动执行此操作的文章,但我找不到以预定方式执行此操作的方法。 http://support.google.com/adwords/answer/2456098?hl=en

2 个答案:

答案 0 :(得分:3)

I know it's late. But I needed it as well.
I found the IpBlock type on Google AdWords here https://developers.google.com/adwords/api/docs/reference/v201506/CampaignCriterionService.IpBlock

答案 1 :(得分:1)

这是我发现的一些示例代码,并稍有改进 require_once此代码,然后针对您要禁止其IP的每个广告系列进行调用

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

<?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);
  }
}