Bing广告活动管理

时间:2016-12-05 13:01:00

标签: java bing bing-ads-api

我最近开始使用Bing Ads api来管理我的广告和广告系列,但我在验证用户身份时遇到了问题(而不是oauth身份验证)。

我使用oauth通过以下

对我的用户进行了身份验证
private String devToken = "ZZZZZ";
private String clientId = "AAA0BBB-XXXX-AAAAA";
protected static String UserName = "a.v@h.c";
protected static String Password = "********";

// To get the initial access and refresh tokens you must call requestAccessAndRefreshTokens with the authorization redirection URL.
OAuthTokens tokens = oAuthDesktopMobileAuthCodeGrant.requestAccessAndRefreshTokens(url);

System.out.println("Access token: " + tokens.getAccessToken());
System.out.println("Refresh token: " + tokens.getRefreshToken());

authorizationData = new AuthorizationData();
authorizationData.setDeveloperToken(getDevToken());
authorizationData.setAuthentication(oAuthDesktopMobileAuthCodeGrant);

这样可以对我的用户进行身份验证,因为我可以使用ICustomerManagementService.class就帐户相关信息正常使用

customerServiceClient = new ServiceClient<>(authorizationData, ICustomerManagementService.class);
ArrayOfAccount accounts = searchAccountsByUserId(user.getId());

以上工作完美。但是,当我尝试使用ICampaignManagementService.class时,如下所示

campaignServiceClient = new ServiceClient<>(authorizationData, ICampaignManagementService.class);
GetAdsByAdGroupIdRequest cReq = new GetAdsByAdGroupIdRequest();
cReq.setAdGroupId(1234567890L);
campaignServiceClient.getService().getAdsByAdGroupId(cReq);

我收到错误代码106,说用户未获得授权。

The user does not represent a authorized developer.
106

在这方面有任何帮助吗?

1 个答案:

答案 0 :(得分:2)

请尝试设置CustomerId和CustomerAccountId标头元素(AuthorizationData的CustomerId和AccountId)。这些标头不适用于客户管理服务,但适用于Campaign Management服务。如果这不能解决问题,请随时将SOAP请求+响应发送到support进行调查。我希望这有帮助!