我能够使用Perl打开Lotus notes api,没有错误,我也可以获得包含Inbox的视图列表,但是当我尝试从该视图中读取消息时,它显示为空?我可能做错了什么? (实际上,这些代码之前的工作似乎可能会在注释方面发生变化)
以下代码结果: View的名称是:($ Inbox)的计数为:0 等
CODE:
use Win32::OLE;
my $Notes = Win32::OLE->new('Notes.NotesSession')
or die "Cannot start Lotus Notes Session object.\n";
my $database = $Notes->GetDatabase("",'mail\VIMM.nsf');
$database->OpenMail;
my $array_ref = $database->{Views};
foreach my $view (@$array_ref) {
my $name = $view->{Name};
print "NAME of View is: $name ";
$view = $database->GetView($name);
print "has count of: ", $view->{entryCount}, "\n";
}
答案 0 :(得分:1)
我相信拼写为“EntryCount”?
另外,我建议“使用严格”和“使用警告”。
答案 1 :(得分:1)
根据runrig的评论,EntryCount是一个属性,所以我相信你需要: $视图 - > {entryCount}
答案 2 :(得分:1)
尝试检查Win32 :: OLE :: LastError()消息。您可以使用以下子语言明确地执行此操作:
sub w32_ok {
if (my $error = Win32::OLE::LastError()) {
print "Win32::OLE Error! Got: $error";
}
}
或者,它有呱呱叫错误,如:
Win32::OLE->Option( Warn => 3 ); # will now croak on errors.
访问您想要的数据时可能会遇到问题。
答案 3 :(得分:1)
邮箱是否对所有用户开放?您可以尝试设置-Default-访问管理器并授予它所有可用角色,只是为了确保不会出现安全问题,导致无法看到文档。