Как я могу использовать Perl для открытия папки «Входящие» через Lotus Notes API? - PullRequest
4 голосов
/ 20 сентября 2010

Я могу открыть Lotus Notes API, используя Perl, без ошибок, также я могу получить список представлений, который включает в себя Входящие, но когда я пытаюсь прочитать сообщения из этого представления, он выглядит пустым? Что я могу делать не так? (на самом деле кажется, что что-то может измениться на стороне заметок, так как этот код работал раньше)

Результат кода ниже: NAME of View: ($ Inbox) имеет количество: 0 и т.д.

КОД:

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";
}

Ответы [ 4 ]

1 голос
/ 22 сентября 2010

Почтовый ящик открыт для всех пользователей? Вы можете попробовать установить -Default- доступ к Manager и предоставить ему все доступные роли, просто чтобы убедиться, что это не проблема безопасности, препятствующая просмотру документов.

1 голос
/ 21 сентября 2010

За комментарий runrig, EntryCount является атрибутом, поэтому я считаю, что вам нужно: $ view -> {entryCount}

1 голос
/ 22 сентября 2010

Попробуйте проверить сообщения 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.

Возможно, возникают проблемы с доступом к нужным данным.

1 голос
/ 21 сентября 2010

Я полагаю, что это пишется "EntryCount"?

Кроме того, я рекомендую «использовать строгое» и «использовать предупреждения».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...