如何通过Google Adwords API将自动标记设置为true

时间:2014-11-13 16:54:39

标签: c# google-adwords

我正在使用.NET Adwords v201409的.NET客户端库。

我可以使用ManagedCustomer + ManagedCustomerService创建一个帐户 问题是ManagedCustomer没有我可以设置的autoTagging字段。

我尝试使用ManagedCustomer创建一个新帐户,抓住CustomerId,并使用Customer + CustomerService,因为Customer有autoTagging字段,但这不起作用(USER_PERMISSION_DENIED)。我之所以这么做是因为在创建新帐户时生成的CustomerId与具有更改数据的正确权限的帐户无关。

那么我如何通过API创建新帐户并将autoTagging值设置为TRUE或创建新帐户,然后将其自动标记值更新为TRUE?

1 个答案:

答案 0 :(得分:2)

确定。所以我解决了这个问题。

当我想在新创建的ManagedCustomer上更新autoTagging时,我实例化另一个AdwordsUser并将其ClientCustomerId更改为新创建的ManagedCustomer customerId。然后我使用Customer + CustomerService进行更新。

我按照Google提供的代码示例进行操作,这就是我实例化AdwordsUser的方式:

  

AdWordsUser adwordsUser = new AdWordsUser();
  AdWordsAppConfig adwordsConfig =(AdWordsAppConfig)adwordsUser.Config;
  adwordsConfig.ClientCustomerId =在这里输入CUSTOMERID;

这样,ClientId / ClientSecret / OAuthToken用于API调用,但CustomerId现在是新创建的ManagedCustomer的CustomerId。因此,当我们更改Customer的autoTagging字段并对其进行更新时,ManagedCustomers autoTagging值会按照我们的要求进行更新。

这是autoTagging字段更新的代码:

private void updateAdwordsCustomer(AdWordsUser adwordsUser)
{
CustomerService CustSer = (CustomerService)adwordsUser.GetService(
        AdWordsService.v201409.CustomerService);


    Customer customer = new Customer();
    customer.autoTaggingEnabled = true;

    var s = CustSer.mutate(customer);
}