Сложная часть здесь - не чтение контактных документов, а поиск самой базы данных. В зависимости от установки контакты могут быть либо на сервере, либо локальными на их рабочей станции.
Если вы работаете с агентом сервера, вы можете получить доступ только к базам данных на текущем сервере или на другом сервере, к которому ваши учетные данные имеют доступ. Однако иногда по умолчанию контакты пользователя помещаются в локальную базу данных на их рабочей станции, и вы можете получить к ним доступ только из кода, запущенного в контексте пользователя.
Если это так, у вас нет выбора, кроме как найти способ запустить что-то на рабочей станции каждого пользователя. Вы могли бы
a) попросите пользователя скопировать names.nsf на сервер или
б) синхронизировать контакты с помощью действия почты.
Для "a" вы можете отправить специальное электронное письмо с кнопкой LotusScript для автоматизации репликации. Я видел этот метод, используемый при миграции электронной почты при использовании инструмента миграции программного обеспечения Quest, и он работает хорошо.
Для "b", если у вас достаточно свежая версия Notes, вы можете следовать этим инструкциям , чтобы включить задачу синхронизации контактов на репликаторе. В противном случае вам нужно будет указать пользователям, как синхронизировать контакты с помощью меню действий. Как только контакты синхронизированы, копия контактной информации будет содержаться в почтовом файле пользователя, который будет доступен на почтовом сервере. Затем вы можете просто получить доступ к представлению контактов, чтобы прочитать документы.