Bug? Folder.sync_items() doesn't return some fields of CalendarItem #1068
-
|
Hi, Erik! Steps to Reproduce:
account = Account(...)
calendar = account.calendar
for _, item in calendar.sync_items():
sync_item = item
get_item = calendar.get(id=sync_item.id)
sync_item == get_item # TrueExpected Result:
Actual Result:
I tried to set only specific fields by using I don't understand why the same Item has empty fields. P.S.: I will never tire of thanking you for a really cool library, it taught me a lot! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
|
Thanks for the kind words! I'm glad you ind the library useful and that you're learning from it :-) A common feature of most of these fields is that they are what EWS calls complex fields. You can see this with e.g. Complex fields are not returned by the exchangelib could probably hide this fact from the user and do a |
Beta Was this translation helpful? Give feedback.
Thanks for the kind words! I'm glad you ind the library useful and that you're learning from it :-)
A common feature of most of these fields is that they are what EWS calls complex fields. You can see this with e.g.
CalendarItem.FIELDS["body"].is_complex. These are fields that either contain large amounts of data, are calculated from other fields, or are more complex data types than booleans, integers, strings etc.Complex fields are not returned by the
FindItemservice, and can only be fetched using theGetItemservice. It's probable that theSyncFolderItemsservice only returns non-complex fields. You can check this yourself by enabling debug logging and checking which fields are reques…