ExchangeLib:获取错误对象没有属性“id”

问题描述

在 ExchangeLib 中,尝试在我的邮箱中获取邮件时,遇到以下错误

AttributeError: 'ErrorItemNotFound' 对象没有属性 'id'

我正在执行的代码

for folder in root.walk():
    for message in folder.all().order_by('-datetime_received')[:128]:
        # do something to the individual message

访问存档文件夹时主要是失败。 EWS 文件夹:消息(存档)

错误堆栈

    for message in folder.all().order_by(
  File "C:\Program Files\python38\lib\site-packages\exchangelib\queryset.py",line 273,in __iter__
    yield from self._format_items(items=self._query(),return_format=self.return_format)
  File "C:\Program Files\python38\lib\site-packages\exchangelib\queryset.py",line 348,in _item_yielder
    for i in iterable:
  File "C:\Program Files\python38\lib\site-packages\exchangelib\account.py",line 617,in fetch
    yield from self._consume_item_service(service_cls=GetItem,items=ids,chunk_size=chunk_size,kwargs=dict(
  File "C:\Program Files\python38\lib\site-packages\exchangelib\account.py",line 346,in _consume_item_service
    yield from service_cls(account=self,chunk_size=chunk_size).call(**kwargs)
  File "C:\Program Files\python38\lib\site-packages\exchangelib\services\get_item.py",line 23,in call
    for elem in self._chunked_get_elements(
  File "C:\Program Files\python38\lib\site-packages\exchangelib\services\common.py",line 178,in _chunked_get_elements
    yield from self._get_elements(payload=payload_func(chunk,**kwargs))
  File "C:\Program Files\python38\lib\site-packages\exchangelib\services\get_item.py",line 37,in get_payload
    item_ids = create_item_ids_element(items=items,version=self.account.version)
  File "C:\Program Files\python38\lib\site-packages\exchangelib\services\common.py",line 752,in create_item_ids_element
    set_xml_value(item_ids,to_item_id(item,ItemId,version=version),version=version)
  File "C:\Program Files\python38\lib\site-packages\exchangelib\services\common.py",line 723,in to_item_id
    return item_cls(item.id,item.changekey)

我在 Exchange Online 部署中使用的是 ExchangeLib 4.0 版。

来自 Exchangelib 调试模式的评论

DEBUG:exchangelib.queryset:Initializing cache
DEBUG:exchangelib.folders.collections:Finding [Folder(Root(<exchangelib.account.Account object at 0x000000B6446E3580>,'[self]','root',9,71,None,'AAMkADM2NjVjYjBlLTBjOTUtNDNlYi05MTBmLTk1YTE5Y2M1ZGY5MwAuAAAAAAAgvOBYFfIpQq2HBAqDSaHKAQA2NQUbMvSHRbMrp6cWf84NAAAAAAEBAAA=','AQAAABYAAAA2NQUbMvSHRbMrp6cWf84NAAAAABII'),'~TeamsMessagesData','AAMkADM2NjVjYjBlLTBjOTUtNDNlYi05MTBmLTk1YTE5Y2M1ZGY5MwAuAAAAAAAgvOBYFfIpQq2HBAqDSaHKAQA2NQUbMvSHRbMrp6cWf84NAAAAAAFdAAA=','AQAAABYAAAA2NQUbMvSHRbMrp6cWf84NAAAAACOR')] items in folders [Mail-Address] (shape: IdOnly,depth: Shallow,additional_fields: None,restriction: None)
DEBUG:exchangelib.services.common:EWS https://outlook.office365.com/EWS/exchange.asmx,service FindItem: Getting items at offset 0 (max_items 1)
DEBUG:exchangelib.services.common:Trying API version Exchange2016
DEBUG:exchangelib.protocol:Server outlook.office365.com: Got session immediately
DEBUG:exchangelib.protocol:Server outlook.office365.com: Got session 27532
DEBUG:exchangelib.util:Session 27532 thread 8980: retry 0 timeout 120 POST'ing to https://outlook.office365.com/EWS/exchange.asmx after 10s wait
DEBUG:requests_oauthlib.oauth2_session:Invoking 0 protected resource request hooks.
DEBUG:requests_oauthlib.oauth2_session:Adding token {'token_type': 'Bearer','expires_in': 3599,'ext_expires_in': 3599,'access_token': 'eyJ0eXAiOiJKV1QiLCJub25jZSI6IlY4RHpoRE9ra1dWbGdXbkZjX0stLW1GclVhdEl5eUd3QkhLTk5ES0ludjQiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL291dGxvb2sub2ZmaWNlMzY1LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzQyZDg1NjJlLTMwNjQtNGVkYy1iNjU1LTk0YTEyZTc4OWQ4ZS8iLCJpYXQiOjE2MjA5MTkwMzQsIm5iZiI6MTYyMDkxOTAzNCwiZXhwIjoxNjIwOTIyOTM0LCJhaW8iOiJFMlpnWU1oNHNycjVpZENVcGZzejFhWVZNbjg3QmdBPSIsImFwcF9kaXNwbGF5bmFtZSI6IkNWRXhCYWNrdXBBcHAxNjEyMzczNjg1IEF1dG9tYXRpb24gMSIsImFwcGlkIjoiYTFiYzIxYTQtZGJlOS00NWM1LTgwOGYtMDMwNmZjOTUyNzkwIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNDJkODU2MmUtMzA2NC00ZWRjLWI2NTUtOTRhMTJlNzg5ZdhlLyIsIm9pZCI6IjY0ODZiNTI1LWMwNTYtNGNlMS05ZTVlLTgyZjZjNTUxMWRiZSIsInJoIjoiMC5BWEFBTGxiWVFtUXczRTYyVlpTaExuaWRqcVFodktIcDI4VkZnSThEQnZ5Vko1QndBQUEuIiwicm9sZXMiOlsiZnVsbF9hY2Nlc3NfYXNfYXBwIl0sInNpZCI6ImUzMDExOTUyLTU1YzMtNDI1ZS05MjVlLTQ3ZTkwZWNhY2U1MSIsInN1YiI6IjY0ODZiNTI1LWMwNTYtNGNlMS05ZTVlLTgyZjZjNTUxMWRiZSIsInRpZCI6IjQyZDg1NjJlLTMwNjQtNGVkYy1iNjU1LTk0YTEyZTc4OWQ4ZSIsInV0aSI6IkZZbm9lU20tVGtpVkIwaGxvQURyQUEiLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjA5OTdhMWQwLTBkMWQtNGFjYi1iNDA4LWQ1Y2E3MzEyMWU5MCJdfQ.ZccV0j4jlbmsgG7o1CyX4noVsQ2kq30haY3_bXlxpBkLVxpUVx0ChrtK8QMaM8FtQZyEctPBXoHnBmReeOvkHOVvajAeHUU8tOOR8EskaGvqsoR7vqXRwBhv-x3UxwRPi74-1o_HQwB0GDa6-exlInNaExTdDTqY-pcnuzuTPhK1JuQX5N2b-lG4J8btP26nXWpNOuHACzozQCF4fwCZvLlyhKCMKsY8gyZclfrKZJTNFfpeSJ_fjmbwRAZ7-MBqmvyQh6BbZgD3TOn7YFcJYCqJfUQVwkOG3fzogt0rgEhVCTbE_rJwveatLkpgxjbZSUSU3FMzrEWTn-tc4bolsA','expires_at': 1620922933.6645632} to request.
DEBUG:requests_oauthlib.oauth2_session:Requesting url https://outlook.office365.com/EWS/exchange.asmx using method POST.
DEBUG:requests_oauthlib.oauth2_session:Supplying headers {'X-AnchorMailBox': 'user@domain.onmicrosoft.com','Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IlY4RHpoRE9ra1dWbGdXbkZjX0stLW1GclVhdEl5eUd3QkhLTk5ES0ludjQiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL291dGxvb2sub2ZmaWNlMzY1LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzQyZDg1NjJlLTMwNjQtNGVkYy1iNjU1LTk0YTEyZTc4OWQ4ZS8iLCJpYXQiOjE2MjA5MTkwMzQsIm5iZiI6MTYyMDkxOTAzNCwiZXhwIjoxNjIwOTIyOTM0LCJhaW8iOiJFMlpnWU1oNHNycjVpZENVcGZzejFhWVZNbjg3QmdBPSIsImFwcF9kaXNwbGF5bmFtZSI6IkNWRXhCYWNrdXBBcHAxNjEyMzczNjg1IEF1dG9tYXRpb24gMSIsImFwcGlkIjoiYTFiYzIxYTQtZGJlOS00NWM1LTgwOGYtMDMwNmZjOTUyNzkwIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNDJkODU2MmUtMzA2NC00ZWRjLWI2NTUtOTRhMTJlNzg5ZdhlLyIsIm9pZCI6IjY0ODZiNTI1LWMwNTYtNGNlMS05ZTVlLTgyZjZjNTUxMWRiZSIsInJoIjoiMC5BWEFBTGxiWVFtUXczRTYyVlpTaExuaWRqcVFodktIcDI4VkZnSThEQnZ5Vko1QndBQUEuIiwicm9sZXMiOlsiZnVsbF9hY2Nlc3NfYXNfYXBwIl0sInNpZCI6ImUzMDExOTUyLTU1YzMtNDI1ZS05MjVlLTQ3ZTkwZWNhY2U1MSIsInN1YiI6IjY0ODZiNTI1LWMwNTYtNGNlMS05ZTVlLTgyZjZjNTUxMWRiZSIsInRpZCI6IjQyZDg1NjJlLTMwNjQtNGVkYy1iNjU1LTk0YTEyZTc4OWQ4ZSIsInV0aSI6IkZZbm9lU20tVGtpVkIwaGxvQURyQUEiLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjA5OTdhMWQwLTBkMWQtNGFjYi1iNDA4LWQ1Y2E3MzEyMWU5MCJdfQ.ZccV0j4jlbmsgG7o1CyX4noVsQ2kq30haY3_bXlxpBkLVxpUVx0ChrtK8QMaM8FtQZyEctPBXoHnBmReeOvkHOVvajAeHUU8tOOR8EskaGvqsoR7vqXRwBhv-x3UxwRPi74-1o_HQwB0GDa6-exlInNaExTdDTqY-pcnuzuTPhK1JuQX5N2b-lG4J8btP26nXWpNOuHACzozQCF4fwCZvLlyhKCMKsY8gyZclfrKZJTNFfpeSJ_fjmbwRAZ7-MBqmvyQh6BbZgD3TOn7YFcJYCqJfUQVwkOG3fzogt0rgEhVCTbE_rJwveatLkpgxjbZSUSU3FMzrEWTn-tc4bolsA'} and data b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><s:Header><t:RequestServerVersion Version="Exchange2016"/><t:ExchangeImpersonation><t:ConnectingSID><t:PrimarySmtpAddress>user@domain.onmicrosoft.com</t:PrimarySmtpAddress></t:ConnectingSID></t:ExchangeImpersonation><t:TimeZoneContext><t:TimeZoneDeFinition Id="Eastern Standard Time"/></t:TimeZoneContext></s:Header><s:Body><m:FindItem Traversal="Shallow"><m:ItemShape><t:BaseShape>IdOnly</t:BaseShape></m:ItemShape><m:IndexedPageItemView MaxEntriesReturned="1" Offset="0" BasePoint="Beginning"/><m:ParentFolderIds><t:FolderId Id="AAMkADM2NjVjYjBlLTBjOTUtNDNlYi05MTBmLTk1YTE5Y2M1ZGY5MwAuAAAAAAAgvOBYFfIpQq2HBAqDSaHKAQA2NQUbMvSHRbMrp6cWf84NAAAAAAFdAAA=" ChangeKey="AQAAABYAAAA2NQUbMvSHRbMrp6cWf84NAAAAACOR"/></m:ParentFolderIds></m:FindItem></s:Body></s:Envelope>'
DEBUG:requests_oauthlib.oauth2_session:Passing through key word arguments {'json': None,'allow_redirects': False,'timeout': 120,'stream': False}.
DEBUG:urllib3.connectionpool:https://outlook.office365.com:443 "POST /EWS/exchange.asmx HTTP/1.1" 200 None
DEBUG:exchangelib.util:Retry: 0
Waited: 10
Timeout: 120
Session: 27532
Thread: 8980
Auth type: <requests_oauthlib.oauth2_auth.OAuth2 object at 0x000000B6446E3EE0>
URL: https://outlook.office365.com/EWS/exchange.asmx
HTTP adapter: <requests.adapters.HTTPAdapter object at 0x000000B6446E3C70>
Allow redirects: False
Streaming: False
Response time: 0.5629999998491257
Status code: 200
Request headers: {'User-Agent': 'exchangelib/4.0.0 (python-requests/2.22.0)','Accept-Encoding': 'gzip,deflate','Accept': '*/*','Connection': 'keep-alive','Content-Type': 'text/xml; charset=utf-8','X-AnchorMailBox': 'user@domain.onmicrosoft.com','Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IlY4RHpoRE9ra1dWbGdXbkZjX0stLW1GclVhdEl5eUd3QkhLTk5ES0ludjQiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL291dGxvb2sub2ZmaWNlMzY1LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzQyZDg1NjJlLTMwNjQtNGVkYy1iNjU1LTk0YTEyZTc4OWQ4ZS8iLCJpYXQiOjE2MjA5MTkwMzQsIm5iZiI6MTYyMDkxOTAzNCwiZXhwIjoxNjIwOTIyOTM0LCJhaW8iOiJFMlpnWU1oNHNycjVpZENVcGZzejFhWVZNbjg3QmdBPSIsImFwcF9kaXNwbGF5bmFtZSI6IkNWRXhCYWNrdXBBcHAxNjEyMzczNjg1IEF1dG9tYXRpb24gMSIsImFwcGlkIjoiYTFiYzIxYTQtZGJlOS00NWM1LTgwOGYtMDMwNmZjOTUyNzkwIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNDJkODU2MmUtMzA2NC00ZWRjLWI2NTUtOTRhMTJlNzg5ZdhlLyIsIm9pZCI6IjY0ODZiNTI1LWMwNTYtNGNlMS05ZTVlLTgyZjZjNTUxMWRiZSIsInJoIjoiMC5BWEFBTGxiWVFtUXczRTYyVlpTaExuaWRqcVFodktIcDI4VkZnSThEQnZ5Vko1QndBQUEuIiwicm9sZXMiOlsiZnVsbF9hY2Nlc3NfYXNfYXBwIl0sInNpZCI6ImUzMDExOTUyLTU1YzMtNDI1ZS05MjVlLTQ3ZTkwZWNhY2U1MSIsInN1YiI6IjY0ODZiNTI1LWMwNTYtNGNlMS05ZTVlLTgyZjZjNTUxMWRiZSIsInRpZCI6IjQyZDg1NjJlLTMwNjQtNGVkYy1iNjU1LTk0YTEyZTc4OWQ4ZSIsInV0aSI6IkZZbm9lU20tVGtpVkIwaGxvQURyQUEiLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjA5OTdhMWQwLTBkMWQtNGFjYi1iNDA4LWQ1Y2E3MzEyMWU5MCJdfQ.ZccV0j4jlbmsgG7o1CyX4noVsQ2kq30haY3_bXlxpBkLVxpUVx0ChrtK8QMaM8FtQZyEctPBXoHnBmReeOvkHOVvajAeHUU8tOOR8EskaGvqsoR7vqXRwBhv-x3UxwRPi74-1o_HQwB0GDa6-exlInNaExTdDTqY-pcnuzuTPhK1JuQX5N2b-lG4J8btP26nXWpNOuHACzozQCF4fwCZvLlyhKCMKsY8gyZclfrKZJTNFfpeSJ_fjmbwRAZ7-MBqmvyQh6BbZgD3TOn7YFcJYCqJfUQVwkOG3fzogt0rgEhVCTbE_rJwveatLkpgxjbZSUSU3FMzrEWTn-tc4bolsA','Cookie': 'exchangecookie=aca9b1b773ea479abd895bf6a8d91b14','Content-Length': '1034'}
Response headers: {'Cache-Control': 'private','transfer-encoding': 'chunked','content-encoding': 'gzip','vary': 'Accept-Encoding','Server': 'Microsoft-IIS/10.0','request-id': '8a91e938-c4fe-4959-afdb-20e4ec70282b','X-CalculatedFETarget': 'PN2PR01CU005.internal.outlook.com','X-BackEndHttpStatus': '200,200','Set-Cookie': 'exchangecookie=aca9b1b773ea479abd895bf6a8d91b14; path=/; secure','X-FEProxyInfo': 'PN2PR01CA0134.INDPRD01.PROD.outlook.com','X-CalculatedBETarget': 'PN2PR01MB4652.INDPRD01.PROD.outlook.com','X-RUM-Validated': '1','x-ms-appId': 'a1bc21a4-dbe9-45c5-808f-0306fc952790','x-EwsHandler': 'FindItem','X-AspNet-Version': '4.0.30319','X-BeSku': 'WCS5','X-DiagInfo': 'PN2PR01MB4652','X-BEServer': 'PN2PR01MB4652','X-Proxy-RoutingCorrectness': '1','X-Proxy-BackendServerStatus': '200','X-FEServer': 'PN2PR01CA0134,MN2PR18CA0001','X-Powered-By': 'ASP.NET','Date': 'Thu,13 May 2021 15:29:33 GMT'}
DEBUG:exchangelib.util.xml:Request XML: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><s:Header><t:RequestServerVersion Version="Exchange2016"/><t:ExchangeImpersonation><t:ConnectingSID><t:PrimarySmtpAddress>user_email_address@domain.onmicrosoft.com</t:PrimarySmtpAddress></t:ConnectingSID></t:ExchangeImpersonation><t:TimeZoneContext><t:TimeZoneDeFinition Id="Eastern Standard Time"/></t:TimeZoneContext></s:Header><s:Body><m:FindItem Traversal="Shallow"><m:ItemShape><t:BaseShape>IdOnly</t:BaseShape></m:ItemShape><m:IndexedPageItemView MaxEntriesReturned="1" Offset="0" BasePoint="Beginning"/><m:ParentFolderIds><t:FolderId Id="AAMkADM2NjVjYjBlLTBjOTUtNDNlYi05MTBmLTk1YTE5Y2M1ZGY5MwAuAAAAAAAgvOBYFfIpQq2HBAqDSaHKAQA2NQUbMvSHRbMrp6cWf84NAAAAAAFdAAA=" ChangeKey="AQAAABYAAAA2NQUbMvSHRbMrp6cWf84NAAAAACOR"/></m:ParentFolderIds></m:FindItem></s:Body></s:Envelope>'
Response XML: b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header><h:ServerVersionInfo MajorVersion="15" MinorVersion="20" MajorBuildNumber="4108" MinorBuildNumber="32" Version="V2018_01_08" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></s:Header><s:Body><m:FindItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><m:ResponseMessages><m:FindItemResponseMessage ResponseClass="Error"><m:MessageText>The specified object was not found in the store.,The process Failed to get the correct properties.</m:MessageText><m:ResponseCode>ErrorItemNotFound</m:ResponseCode><m:DescriptiveLinkKey>0</m:DescriptiveLinkKey></m:FindItemResponseMessage></m:ResponseMessages></m:FindItemResponse></s:Body></s:Envelope>'
DEBUG:exchangelib.util:No retry: wrong status code 200
DEBUG:exchangelib.util:Session 27532 thread 8980: Useful response from https://outlook.office365.com/EWS/exchange.asmx
DEBUG:exchangelib.protocol:Server outlook.office365.com: Releasing session 27532
DEBUG:exchangelib.version:API version "Exchange2016" worked but server reports version "V2018_01_08". Using "Exchange2016"
DEBUG:exchangelib.services.common:Found new version (Build=15.20.4108.31,API=Exchange2016,Fullname=Microsoft Exchange Server 2016 -> Build=15.20.4108.32,Fullname=Microsoft Exchange Server 2016)
DEBUG:exchangelib.queryset:Initializing cache
DEBUG:exchangelib.folders.collections:Finding [Folder(Root(<exchangelib.account.Account object at 0x000000B6446E3580>,service FindItem: Getting items at offset 0 (max_items 100)
DEBUG:exchangelib.services.common:Trying API version Exchange2016
DEBUG:exchangelib.protocol:Server outlook.office365.com: Got session immediately
DEBUG:exchangelib.protocol:Server outlook.office365.com: Got session 27532
DEBUG:exchangelib.util:Session 27532 thread 8980: retry 0 timeout 120 POST'ing to https://outlook.office365.com/EWS/exchange.asmx after 10s wait
DEBUG:requests_oauthlib.oauth2_session:Invoking 0 protected resource request hooks.
DEBUG:requests_oauthlib.oauth2_session:Adding token {'token_type': 'Bearer','expires_at': 1620922933.6645632} to request.
DEBUG:requests_oauthlib.oauth2_session:Requesting url https://outlook.office365.com/EWS/exchange.asmx using method POST.
DEBUG:requests_oauthlib.oauth2_session:Supplying headers {'X-AnchorMailBox': 'user_email_address@domain.onmicrosoft.com','Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IlY4RHpoRE9ra1dWbGdXbkZjX0stLW1GclVhdEl5eUd3QkhLTk5ES0ludjQiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL291dGxvb2sub2ZmaWNlMzY1LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzQyZDg1NjJlLTMwNjQtNGVkYy1iNjU1LTk0YTEyZTc4OWQ4ZS8iLCJpYXQiOjE2MjA5MTkwMzQsIm5iZiI6MTYyMDkxOTAzNCwiZXhwIjoxNjIwOTIyOTM0LCJhaW8iOiJFMlpnWU1oNHNycjVpZENVcGZzejFhWVZNbjg3QmdBPSIsImFwcF9kaXNwbGF5bmFtZSI6IkNWRXhCYWNrdXBBcHAxNjEyMzczNjg1IEF1dG9tYXRpb24gMSIsImFwcGlkIjoiYTFiYzIxYTQtZGJlOS00NWM1LTgwOGYtMDMwNmZjOTUyNzkwIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNDJkODU2MmUtMzA2NC00ZWRjLWI2NTUtOTRhMTJlNzg5ZdhlLyIsIm9pZCI6IjY0ODZiNTI1LWMwNTYtNGNlMS05ZTVlLTgyZjZjNTUxMWRiZSIsInJoIjoiMC5BWEFBTGxiWVFtUXczRTYyVlpTaExuaWRqcVFodktIcDI4VkZnSThEQnZ5Vko1QndBQUEuIiwicm9sZXMiOlsiZnVsbF9hY2Nlc3NfYXNfYXBwIl0sInNpZCI6ImUzMDExOTUyLTU1YzMtNDI1ZS05MjVlLTQ3ZTkwZWNhY2U1MSIsInN1YiI6IjY0ODZiNTI1LWMwNTYtNGNlMS05ZTVlLTgyZjZjNTUxMWRiZSIsInRpZCI6IjQyZDg1NjJlLTMwNjQtNGVkYy1iNjU1LTk0YTEyZTc4OWQ4ZSIsInV0aSI6IkZZbm9lU20tVGtpVkIwaGxvQURyQUEiLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjA5OTdhMWQwLTBkMWQtNGFjYi1iNDA4LWQ1Y2E3MzEyMWU5MCJdfQ.ZccV0j4jlbmsgG7o1CyX4noVsQ2kq30haY3_bXlxpBkLVxpUVx0ChrtK8QMaM8FtQZyEctPBXoHnBmReeOvkHOVvajAeHUU8tOOR8EskaGvqsoR7vqXRwBhv-x3UxwRPi74-1o_HQwB0GDa6-exlInNaExTdDTqY-pcnuzuTPhK1JuQX5N2b-lG4J8btP26nXWpNOuHACzozQCF4fwCZvLlyhKCMKsY8gyZclfrKZJTNFfpeSJ_fjmbwRAZ7-MBqmvyQh6BbZgD3TOn7YFcJYCqJfUQVwkOG3fzogt0rgEhVCTbE_rJwveatLkpgxjbZSUSU3FMzrEWTn-tc4bolsA'} and data b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><s:Header><t:RequestServerVersion Version="Exchange2016"/><t:ExchangeImpersonation><t:ConnectingSID><t:PrimarySmtpAddress>user_email_address@domain.onmicrosoft.com</t:PrimarySmtpAddress></t:ConnectingSID></t:ExchangeImpersonation><t:TimeZoneContext><t:TimeZoneDeFinition Id="Eastern Standard Time"/></t:TimeZoneContext></s:Header><s:Body><m:FindItem Traversal="Shallow"><m:ItemShape><t:BaseShape>IdOnly</t:BaseShape></m:ItemShape><m:IndexedPageItemView MaxEntriesReturned="100" Offset="0" BasePoint="Beginning"/><m:SortOrder><t:FieldOrder Order="Descending"><t:FieldURI FieldURI="item:DateTimeReceived"/></t:FieldOrder></m:SortOrder><m:ParentFolderIds><t:FolderId Id="AAMkADM2NjVjYjBlLTBjOTUtNDNlYi05MTBmLTk1YTE5Y2M1ZGY5MwAuAAAAAAAgvOBYFfIpQq2HBAqDSaHKAQA2NQUbMvSHRbMrp6cWf84NAAAAAAFdAAA=" ChangeKey="AQAAABYAAAA2NQUbMvSHRbMrp6cWf84NAAAAACOR"/></m:ParentFolderIds></m:FindItem></s:Body></s:Envelope>'
DEBUG:requests_oauthlib.oauth2_session:Passing through key word arguments {'json': None,'stream': False}.
DEBUG:urllib3.connectionpool:https://outlook.office365.com:443 "POST /EWS/exchange.asmx HTTP/1.1" 200 None
DEBUG:exchangelib.util:Retry: 0
Waited: 10
Timeout: 120
Session: 27532
Thread: 8980
Auth type: <requests_oauthlib.oauth2_auth.OAuth2 object at 0x000000B6446E3EE0>
URL: https://outlook.office365.com/EWS/exchange.asmx
HTTP adapter: <requests.adapters.HTTPAdapter object at 0x000000B6446E3C70>
Allow redirects: False
Streaming: False
Response time: 0.34399999980814755
Status code: 200
Request headers: {'User-Agent': 'exchangelib/4.0.0 (python-requests/2.22.0)','X-AnchorMailBox': 'user_email_address@domain.onmicrosoft.com','Content-Length': '1157'}
Response headers: {'Cache-Control': 'private','request-id': 'dc4346ef-78f1-4a46-beca-fe8e8e03d625','X-CalculatedFETarget': 'PN2PR01CU003.internal.outlook.com','X-FEProxyInfo': 'PN2PR01CA0066.INDPRD01.PROD.outlook.com','X-FEServer': 'PN2PR01CA0066,13 May 2021 15:29:33 GMT'}
DEBUG:exchangelib.util.xml:Request XML: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><s:Header><t:RequestServerVersion Version="Exchange2016"/><t:ExchangeImpersonation><t:ConnectingSID><t:PrimarySmtpAddress>user_email_address@domain.onmicrosoft.com</t:PrimarySmtpAddress></t:ConnectingSID></t:ExchangeImpersonation><t:TimeZoneContext><t:TimeZoneDeFinition Id="Eastern Standard Time"/></t:TimeZoneContext></s:Header><s:Body><m:FindItem Traversal="Shallow"><m:ItemShape><t:BaseShape>IdOnly</t:BaseShape></m:ItemShape><m:IndexedPageItemView MaxEntriesReturned="100" Offset="0" BasePoint="Beginning"/><m:SortOrder><t:FieldOrder Order="Descending"><t:FieldURI FieldURI="item:DateTimeReceived"/></t:FieldOrder></m:SortOrder><m:ParentFolderIds><t:FolderId Id="AAMkADM2NjVjYjBlLTBjOTUtNDNlYi05MTBmLTk1YTE5Y2M1ZGY5MwAuAAAAAAAgvOBYFfIpQq2HBAqDSaHKAQA2NQUbMvSHRbMrp6cWf84NAAAAAAFdAAA=" ChangeKey="AQAAABYAAAA2NQUbMvSHRbMrp6cWf84NAAAAACOR"/></m:ParentFolderIds></m:FindItem></s:Body></s:Envelope>'
Response XML: b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header><h:ServerVersionInfo MajorVersion="15" MinorVersion="20" MajorBuildNumber="4108" MinorBuildNumber="32" Version="V2018_01_08" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></s:Header><s:Body><m:FindItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><m:ResponseMessages><m:FindItemResponseMessage ResponseClass="Error"><m:MessageText>The specified object was not found in the store.,The process Failed to get the correct properties.</m:MessageText><m:ResponseCode>ErrorItemNotFound</m:ResponseCode><m:DescriptiveLinkKey>0</m:DescriptiveLinkKey></m:FindItemResponseMessage></m:ResponseMessages></m:FindItemResponse></s:Body></s:Envelope>'
DEBUG:exchangelib.util:No retry: wrong status code 200
DEBUG:exchangelib.util:Session 27532 thread 8980: Useful response from https://outlook.office365.com/EWS/exchange.asmx
DEBUG:exchangelib.protocol:Server outlook.office365.com: Releasing session 27532
DEBUG:exchangelib.version:API version "Exchange2016" worked but server reports version "V2018_01_08". Using "Exchange2016"
DEBUG:exchangelib.services.common:Processing chunk 1 containing 1 items
ERROR:8980:An error occurred while mailBox property for mailBox "user_email_address@domain.onmicrosoft.com" 

解决方法

出于某种原因,您的 Exchange 服务器允许您列出存档文件夹,但不允许您搜索该文件夹,而是返回 ErrorItemNotFound 异常。

我只会处理错误并继续处理实际消息:

for folder in root.walk():
    for message in folder.all().order_by('-datetime_received')[:128]:
        if isinstance(message,Exception):
            log.warning(str(message))
            continue
        # do something to the individual message