Как обновить externalId пользователя с помощью Java

Я пытаюсь обновить пользователя с помощью externalId на основе документации Google Admin SDK.

UserExternalId externalId = new UserExternalId();
    externalId.setType( "account" );
    externalId.setValue( "test" );
    User user = new User();
    user.setExternalIds( externalId );
    try {
        User update = directory.users().update( "USERKEY", user ).execute().setExternalIds( externalId );
        LOGGER.info("Response from google: " + update.toPrettyString());
        User full = directory.users().get( "USERKEY" ).setProjection( "full" ).execute();
        LOGGER.info( "Response from new get user: " + full.toPrettyString() );
    } catch (IOException e) {
        LOGGER.info("Error: " + e);
    }

При регистрации ответа на вызов обновления я вижу, что externalId заполнен, и никаких ошибок не выдается. Когда я пытаюсь получить того же пользователя, не остается никаких следов внешнего идентификатора.

Когда я использую GoogleПроводник API и заполнить ExternalId там я получаю такое же поведение. Похоже, что Google API принимает запрос на обновление, но игнорирует ExternalId. Как правильно добавить externalId для пользователя?

редактировать:

Ответ SGC помог мне. Метод setExternalIds ожидает список ExternalIds, я забыл это сделать. Кажется, API Google Java Directory возвращает объект json при извлечении externalIds, поэтому необходимо проанализировать его, чтобы прочитать.

Ответы на вопрос(1)

Ваш ответ на вопрос