Lotus Notes JavaScript 获取用户信息

Lotus Notes JavaScript Get user info

用户在自己的 PC 上访问网站,javaScript 创建 NotesSession。

var ns = new ActiveXObject("Lotus.NotesSession");
ns.Initialize(pass); // user password 

我想在会话初始化成功后获取用户信息,例如姓名和公司 phone 号码。对于像 "Hello %username%, your phone is %number%" 这样的消息,如果我知道姓名或其他信息,我知道如何从 Domino 服务器获取有关特定用户的信息,但在这种情况下我有点卡住了。 如果我尝试使用 GetDatabase InternetExplorer 挂起。

var db = ns.GetDatabase("", "names.nsf");

获取互联网地址也很好

我想知道为什么您在 JavaScript 中在浏览器端执行此操作而不是在服务器端执行此操作,因为这仅适用于正确安装和配置了 Notes 客户端的用户.但是,如果这真的是您想要的方式...

您在会话中自动获得的唯一信息是用户名(有几种不同的格式)。如果还想要别的,就得去服务器上查一下用户信息。

您可以使用

var nd = ns.getDirectory()
var userinfo = NotesDirectory.LookupNames("$Users",ns.UserName, fieldsArray) 

获取更多信息。

请注意,Domino 目录中有几个 phone 数字字段,根据您组织的政策和程序,它们可能不会全部填写。您需要查找项目名称(例如, "OfficePhoneNumber"、"PhoneNumber"、"CellPhoneNumber" .. 还有其他)并将您要检索的那些放入传递给 LookupNames 的 fieldsArray 中。您将以 NotesDirectoryNavigator 对象的形式返回结果,您可以使用该对象的方法和属性来获取值。