exchangelib неожиданно выдает ErrorAccessDenied, но учетные данные все еще действительны - PullRequest
1 голос
/ 16 марта 2019

Название в значительной степени говорит само за себя. Я смог получить доступ к своему серверу Exchange, используя следующий метод:

credentials = Credentials(
    username='DOMAIN\\username',
    password='PASSWORD')

exchange_account = Account(
    primary_smtp_address='someone@somewhere.com',
    credentials=credentials,
    autodiscover=True,
    access_type=DELEGATE)

sent_items = exchange_account.sent.all().filter(datetime_received__range=(last_date, now))[:10] 

Однако он внезапно перестал работать, и теперь последняя строка выдает exchangelib.errors.ErrorAccessDenied, несмотря на то, что учетные данные все еще действительны (они работают в Outlook и на почтовом клиенте Android).

Полагаю, сервер каким-то образом обнаружил активность и заблокировал ее, считая ее мошеннической. Может кто-нибудь подсказать, что мне нужно попросить администратора сервера Exchange найти и исправить? Он размещен на intermedia.net, если это поможет.

Я бы очень признателен за помощь.

1 Ответ

1 голос
/ 10 апреля 2019

[извлечение комментариев в реальный ответ]

ErrorAccessDenied обычно вызывается сервером, когда вы запрашиваете элемент или приватные поля для закрытого элемента, к которому у вас нет доступа.Хотя это звучит странно, возможно, что ваша отправленная папка содержит элементы, к которым у вас нет доступа.Вы можете сузить его, выбирая предметы небольшими порциями, пока не наткнетесь на что-то, что поднимает ErrorAccessDenied.Если вы включите ведение журнала отладки, XML-код запроса и ответа сообщит вам точный идентификатор.

Вы можете обойти эту проблему, только запросив непубличные поля из отправленных элементов, например, exchange_account.sent.all().only('subject', 'start', 'end').В противном случае, если вы можете найти плохо себя ведущий предмет и можете удалить его, просто сделайте это.

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