Как получить идентификатор клиента аккаунта AdWords, чтобы связать его с аккаунтом MCC?

Я хочу добавить учетную запись Adwords в учетную запись MCC через Google Adwords API в моем веб-приложении. Думаю, мне просто нужно добавить ManagedCustomerLink

Дело в том, что я не знаю, как получить clientCustomerId. Я думал, что, аутентифицируя пользователя через OAuth2 в моем приложении с соответствующей областью действия, я смогу каким-то образом получить их clientCustomerId, но я не мог его найти.

Заранее благодарим за помощь!


person sinhix    schedule 05.05.2014    source источник
comment
Извините, я немного запутался. Где вы пытаетесь это сделать? Вы добавляете аккаунт в MCC или пишете код?   -  person Georg Keferböck    schedule 05.05.2014
comment
Я кодирую это в приложении, поэтому пользователю, который хочет быть привязанным к учетной записи MCC приложения, просто нужно войти в систему с помощью Google.   -  person sinhix    schedule 05.05.2014


Ответы (4)


Вы можете получить идентификатор клиента клиента, запустив следующий код:

CustomerServiceInterface customerService = adWordsServices.get(session, CustomerServiceInterface.class);
Customer[] customers;
try {
    customers = customerService.getCustomers();
    for (Customer customer : customers) {
        Long customerId = customer.getCustomerId();
        System.out.println(customerId);
    }
} catch (RemoteException e) {
    e.printStackTrace();
}

Чтобы получить сеанс пользователя, вы должны использовать Oauth 2.0 и запросить его учетные данные.

person Alan Albertengo    schedule 09.01.2017

На основании вашего обмена мнениями с Джорджем Удивительным выше, мне интересно, действительно ли вы хотите добавить учетные записи AdWords в свой MCC.

Есть разница между владельцем аккаунта AdWords.

  1. Авторизация вашего приложения для доступа к их данным, vs
  2. Станьте клиентом вашей компании для полного управления AdWords.

Если эта учетная запись AdWords принадлежит клиенту вашей компании, и вы берете на себя управление этой учетной записью, вы можете использовать ManagedCustomerService, чтобы добавить учетную запись в свой Центр клиентов. Вы можете получить 10-значный идентификатор клиента AdWords для аккаунта с помощью CustomerService. .

С другой стороны, если это веб-приложение, и вы просто хотите, чтобы пользователи могли авторизоваться с помощью OAuth2, вам следует следовать это руководство.

person Becky Russoniello    schedule 12.05.2014
comment
Спасибо за помощь мне. Если я использую CustomerService, я получаю только учетную запись MCC. По сути, мне просто нужен удобный способ для пользователя моего веб-приложения связать свою учетную запись AdWords с моей учетной записью MCC (это ваш маркер 2.). Как я могу получить чей-то 10-значный идентификатор клиента AdWords? Я думал, что смогу получить это, заставив затем войти в приложение. (ваш маркер 1.). Извините, если это сбивает с толку. - person sinhix; 14.05.2014
comment
Аккаунт, который вы хотите связать, в настоящее время находится под управлением другого Центра клиентов? - person Becky Russoniello; 14.05.2014
comment
Нет, может быть, но предположим, что это не так. - person sinhix; 14.05.2014

Здесь перейдите по этой ссылке в библиотеку Google Adwords,

https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201509/AccountManagement/GetAccountHierarchy.php

Как только вы создадите нового пользователя

   $user = new AdWordsUser(); // with your API creds using OAUTH       
   GetAccountHierarchyExample(AdWordsUser $user)  //found in link

Просто запустите функцию. В нем будут перечислены все ваши управляемые вспомогательные учетные записи.

person CG_DEV    schedule 24.10.2015
comment
Итак, попытался сделать это, но он запрашивает у меня идентификатор клиента, чтобы сделать даже это ... - person find_all; 17.06.2020

Вот код, который вы можете получить своим клиентам-клиентам

public Customer[] GetAllManagerClientsList(string authorizationCode)
        {
            string baseURL = _configuration.GetValue<string>("URL:SiteURL");
            AdsOAuthProviderForApplications oAuth2Provider = (user.OAuthProvider as AdsOAuthProviderForApplications);
            oAuth2Provider.Config.OAuth2RedirectUri = baseURL + "/google-auth-callback";

            oAuth2Provider.FetchAccessAndRefreshTokens(authorizationCode);

            //Get customerID
            user.Config.OAuth2AccessToken = oAuth2Provider.Config.OAuth2AccessToken;
            user.Config.OAuth2RefreshToken = oAuth2Provider.Config.OAuth2RefreshToken;
            //store in cache
            var chechedEntryOptions = new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(5));


            CustomerService customerService = (CustomerService)user.GetService(AdWordsService.v201809.CustomerService);
            var customersList = customerService.getCustomers();

            var ClientCustomers = customersList != null && customersList.Length > 0 ? customersList.Where(c => c.canManageClients == false).ToList() : null;
            if (ClientCustomers.Count() > 0)
            {
                return ClientCustomers.ToArray();
            }
            else
            {
                return null;
            }
        }
person Umar 360    schedule 20.05.2021