2011-12-27 2 views
0

Я использую версию 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"); 
     } 
    } 
} 
+0

Можете ли вы разместить код, который используете? –

ответ

0

UNEXPECTED_INTERNAL_API_ERROR означает, что есть некоторая проблема на стороне сервера Google. Не могли бы вы получить запрос/ответ SOAP и отправить его на http://groups.google.com/group/adwords-api? Это официальный форум для API AdWords, и кто-то из Google будет следить за вами.

Основываясь на вашем коде, я предполагаю, что вы используете клиентскую библиотеку Java для API AdWords. Если это так, параметры ведения журнала находятся в файле log4j.properties.