如何获取 adwords 帐户客户客户 ID 以将其链接到 MCC 帐户?
Posted
技术标签:
【中文标题】如何获取 adwords 帐户客户客户 ID 以将其链接到 MCC 帐户?【英文标题】:How to get an adwords account client customer id to link it to a MCC account? 【发布时间】:2014-05-05 02:29:15 【问题描述】:我想通过我的网络应用程序上的 Google Adwords API 将 Adwords 帐户添加到 MCC 帐户。 我想我只需要添加一个ManagedCustomerLink
问题是我不知道如何获取 clientCustomerId。 我想通过在我的应用程序上使用匹配范围通过 OAuth2 对用户进行身份验证,我可以以某种方式获取他们的 clientCustomerId 但我找不到它。
提前感谢您的帮助!
【问题讨论】:
对不起,我有点困惑。你在哪里尝试这样做?您是在 MCC 中添加帐户,还是在编码? 我在一个应用程序上编码,所以想要链接到应用程序 MCC 帐户的用户只需要使用 Google 登录。 【参考方案1】:您可以通过运行以下代码来获取客户端客户 ID:
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 并询问他的凭据。
【讨论】:
【参考方案2】:根据上面阅读您与 George Astonishing 的交流,我想知道您是否真的想将 AdWords 帐户添加到您的 MCC。
AdWords 帐户所有者之间存在差异
-
授权您的应用访问他们的数据,而不是
成为贵公司的客户,全面管理 AdWords。
如果此 AdWords 帐户属于您公司的客户,并且您正在接管他们的帐户管理,那么您可以使用 ManagedCustomerService 将该帐户添加到您的 MCC。您可以使用 CustomerService 获取帐户的 10 位 AdWords 客户 ID。
另一方面,如果这是针对 Web 应用程序,并且您只是希望用户能够使用 OAuth2 进行授权,那么您应该改为关注 this guide。
【讨论】:
感谢您帮助我。如果我使用 CustomerService,我只会获得 MCC 帐户。基本上,我只想让我的网络应用程序上的用户有一种方便的方式将他们的 AdWords 帐户链接到我的 MCC 帐户(这是您的要点 2。)。如何获取某人的 10 位 AdWords 客户 ID?我想我可以通过然后登录到应用程序来获得它。 (你的要点 1.)。抱歉,如果这听起来令人困惑。 您要关联的帐户目前是否由其他 MCC 管理? 没有。可能是,但我们假设不是。【参考方案3】:在这里,访问此链接到 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
只需运行该函数。它将列出您所有托管的子帐户。
【讨论】:
所以尝试这样做,但它要求我提供客户客户 ID 来执行此操作......【参考方案4】:这是您可以获得客户客户的代码
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;
【讨论】:
以上是关于如何获取 adwords 帐户客户客户 ID 以将其链接到 MCC 帐户?的主要内容,如果未能解决你的问题,请参考以下文章
如何仅使用客户 ID 在 Google Adwords API 中关联帐户?