Я использую версию google-adwords v201101. При попытке вставить RemarketingUserList, я получаю ошибкуUNEXPECTED_INTERNAL_API_ERROR при добавлении RemarketingUserList
@errors: triggerxsi_typeInternalApiErrorreasonUNEXPECTED_INTERNAL_API_ERRORerror_stringInternalApiError.UNEXECTED_INTERNAL_API_ERRORfield_path
Как избежать этой ошибки?
Мой код Snipper
private void createUserList() throws Exception {
// Create conversion type (tag).
UserListConversionType conversionType = new UserListConversionType();
conversionType.setName("Mars cruise customers");
// Create remarketing user list.
RemarketingUserList userList = new RemarketingUserList();
userList.setName("Mars cruise customers #" + System.currentTimeMillis());
userList.setDescription("A list of mars cruise customers in the last year");
userList.setMembershipLifeSpan(365L);
userList.setConversionTypes(new UserListConversionType[] { conversionType });
// Create operations.
UserListOperation operation = new UserListOperation();
operation.setOperand(userList);
operation.setOperator(Operator.ADD);
UserListOperation[] operations = new UserListOperation[] { operation };
// Add user list.
UserListReturnValue result = getUserListService().mutate(operations);
// Capture the ID(s) of the conversion.
List<String> conversionIds = new ArrayList<String>();
UserList userListResult = result.getValue()[0];
if (userListResult instanceof RemarketingUserList) {
RemarketingUserList remarketingUserList = (RemarketingUserList) userListResult;
for (UserListConversionType userListConversionType : remarketingUserList
.getConversionTypes()) {
conversionIds.add(userListConversionType.getId().toString());
}
}
log.trace("List of conversionIds: " +conversionIds);
// Create predicate and selector.
Predicate predicate = new Predicate();
predicate.setField("Id");
predicate.setOperator(PredicateOperator.IN);
predicate.setValues(conversionIds.toArray(new String[conversionIds.size()]));
Selector selector = new Selector();
selector.setFields(new String[] { "Id" });
selector.setPredicates(new Predicate[] { predicate });
// Get all conversion trackers.
Map<Long, AdWordsConversionTracker> conversionTrackers = new HashMap<Long, AdWordsConversionTracker>();
ConversionTrackerPage page = getConversionTrackerService()
.get(selector);
if (page != null && page.getEntries() != null) {
for (ConversionTracker conversionTracker : page.getEntries()) {
conversionTrackers.put(conversionTracker.getId(),
(AdWordsConversionTracker) conversionTracker);
}
}
log.trace("User list with name " + userListResult.getName()
+ " and id " + userListResult.getId() + " was added.\n");
// Display user list associated conversion code snippets.
if (userListResult instanceof RemarketingUserList) {
RemarketingUserList remarketingUserList = (RemarketingUserList) userListResult;
for (UserListConversionType userListConversionType : remarketingUserList
.getConversionTypes()) {
log.trace("Conversion type code snippet associated to the list:\n"
+ conversionTrackers.get(
userListConversionType.getId())
.getSnippet() + "\n");
}
}
}
Можете ли вы разместить код, который используете? –