i think i did confuse accountId with ExternalCustomerId ..
Am Freitag, 2. November 2012 21:23:08 UTC+1 schrieb F.Pers:
>
> could it be that the clientId is not the same as the accountId?
>
> Am Freitag, 2. November 2012 20:45:57 UTC+1 schrieb F.Pers:
>>
>>
>> hi
>>
>> im trying to get a report with a predicate that filters to all the
>> campaigns belonging to an account:
>> [code]
>> // create selector
>> Selector selector = new Selector();
>> selector.getFields().addAll(reportFields);
>>
>> // Create status = active predicate
>> if(status != null) {
>> Predicate statusPredicate = new Predicate();
>> statusPredicate.setField("Status");
>> statusPredicate.setOperator(PredicateOperator.EQUALS);
>> statusPredicate.getValues().add("ACTIVE");
>> // add predicate
>> selector.getPredicates().add(statusPredicate);
>> }
>>
>> // Create account predicate
>> Predicate accountPredicate = new Predicate();
>> accountPredicate.setField("AccountId");
>> accountPredicate.setOperator(PredicateOperator.EQUALS);
>>
>> accountPredicate.getValues().add(String.valueOf(account.getClientId()));
>> // add predicate
>> selector.getPredicates().add(accountPredicate);
>>
>> // create report definition
>> ReportDefinition reportDefinition = new ReportDefinition();
>> reportDefinition.setReportName("CAMPAIGN_PERFORMANCE_REPORT #" +
>> System.currentTimeMillis());
>>
>> reportDefinition.setDateRangeType(ReportDefinitionDateRangeType.TODAY);
>>
>> reportDefinition.setReportType(ReportDefinitionReportType.CAMPAIGN_PERFORMANCE_REPORT);
>> reportDefinition.setDownloadFormat(DownloadFormat.CSV);
>> reportDefinition.setSelector(selector);
>>
>> // construct an AdWordsSession
>> AdWordsSession session = null;
>> try {
>> session = new AdWordsSession.Builder()
>> .withClientLoginToken(clientLoginToken)
>> .withDeveloperToken(developerToken)
>> .withClientCustomerId(account.getClientId())
>> .withEnvironment(Environment.PRODUCTION).build();
>> } catch (ValidationException e1) {
>> e1.printStackTrace();
>> }
>>
>> // download keyword report
>> int numberOfRetries = 0;
>> while(true) {
>> try {
>> return new
>> ReportDownloader(session).downloadReport(reportDefinition);
>> } catch (ReportException e) {
>> e.printStackTrace();
>> if(numberOfRetries < 10) {
>> numberOfRetries++;
>> continue;
>> } else {
>> break;
>> }
>> } catch (ReportDownloadResponseException e) {
>> e.printStackTrace();
>> break;
>> }
>> }
>> [/code]
>>
>> I do get an error in ReportDownloadResponseException:
>> HTTP Response Code: 400, FieldPath: selector, Trigger: 111-081-1181,
>> Type: SelectorError.INVALID_PREDICATE_VALUE
>> at
>> com.google.api.ads.adwords.lib.utils.v201209.ReportDownloader.handleResponse(ReportDownloader.java:119)
>> at
>> com.google.api.ads.adwords.lib.utils.v201209.ReportDownloader.downloadReport(ReportDownloader.java:93)
>>
>> It works like a charm when i leave the accountPredicate out.
>> Ive also Tried replacing the "-" of the accountId with empty strings but
>> its the same.
>>
>> But according to the reference a CAMPAIGN_PERFORMANCE_REPORT does have an
>> AccountId field.
>>
>> What am i doing wrong? Thank you for any help
>>
>> greez
>
>
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en