I am very new to EWS... I would like to set properties on a room that I can later access.
I looked into ExtendedProperties, but these are only available to objects that inherit from Item, but since a room is just an email address, it does not inherit from Item.
I also looked at the "Custom Attributes" under Recipients > Resources > General > More options but these attributes are not exposed via EWS.
Is there any way I can set properties that I can tie to a room and later access them via EWS?
A Room is Mailbox and a Mailbox has folders so you can do one of two things
Create you own custom Extended properties and set them on one of the Folders in the Mailbox (eg the Inbox or Calendar Folder)
Create a Folder Associated Item (FAI Items) these are hidden items in Folder that are designed to holder configuration information. (eg there is a FAI that holds the configuration of the room etc eg http://gsexdev.blogspot.com.au/2015/12/showing-calendar-configuration-of.html
One last thing you can do is create a MailTip for the Room Mailbox and you can then access that MailTip using EWS.
Related
An administrator for a Microsoft 365 domain can create external contacts that are visible to users within that domain. Those contacts can be seen in the M365 Outlook client under "Directory->All Contacts" or "Directory->Default Global Address list".
I need to use EWS to read and create these contacts. As a first step I'm just trying to read them, using FindFolder, against MsgFolderRoot of a user. Unfortunately the only contact folders that show up are the ones defined for the user in question, not the external contacts created by the Admin. There are several contact folder classes that seem promising, such as "OrganizationalContacts" and "ExternalContacts" but there are no entries in those folders.
I could also use Graph for this if the capability is there. Any help on this problem would be appreciated.
Directory contacts exist in the Directory eg Azure AD or the local AD onPrem neither EWS or Graph can create these type of contacts then only thing automatable that can do that is https://learn.microsoft.com/en-us/powershell/module/exchange/new-mailcontact?view=exchange-ps
For reading Directory contacts the Graph is a better option it has a supportable endpoint via https://learn.microsoft.com/en-us/graph/api/resources/orgcontact?view=graph-rest-1.0. EWS can do this via FindPeople but it's not documented and requires that you know the addressbook guid which isn't available via EWS.
I would like to create an "all#mydomain.com" email distribution list, which automatically tracks changes of all users. I am currently aware of 2 approaches, which both don't serve my needs
Create a Microsoft 365 'group' (which can have a Teams/SharePoint site, etc.)
Create a 'distribution list'
Problem: Both require me to manually add all users, also in the future when new users join the domain.
How can I make a group/team/list/shared address/alias/... which automatically comprises all user accounts, both now and at any time in the future?
I finally found a 3rd option:
Create a "dynamic distribution list" - which allows to define dynamic conditions who should be in the list
This option is not available from within the "Microsoft 365 admin center", but instead (somewhat hidden) in the "Microsoft Exchange admin center".
I am using the RDOSession.LogonExchangeMailbox method from the Outlook Redemption library to log into a specific mailbox on exchange server that the current user has access to but that does not necessarily belong to the current user.
If the current user has access to multiple mailboxes, does this method guarantee that only the specified mailbox will be included in RDOSession.Stores? Or is there a chance that other mailboxes (that the user has access to, or even the mailbox for the user himself) will be populated as stores inside RDOSession.Stores?
In summary, can I guarantee that RDOSession.Stores[1] will always point to the mailbox specified in the LogonExchangeMailbox method?
LogonExchangeMailbox (Exchange 2010 or older) always creates a temporary profile that points to the specified mailbox. It is not however guaranteed that RDOSession.Stores[1] will point to the primary mailbox - you can also have a PF store in the profile and the order is undetermined. Use RDOSession.Stores.DefaultStore instead.
Is there any way to determine a ticket sender's nickname (or to add metadata to a ticket)? I have user accounts in my app & I don't want another user's ticket to be viewable by another user after logging out & this seems like it would be the best way to accomplish it (unless there's someone way to "clear" ticket cache)
Glympse API Lite provides you with a way to set sender's nickname/avatar programmatically through IGlympse::setNickname() and IGlympse::setAvatar() methods. There are corresponding getters for both properties.
The ability to wipe user's account is not currently exposed in Glympse API Lite. We will consider adding it in the next build.
Is there a way to allow the user to add additional items to one group in the settings bundle? Specifically, I a would like the user to be able to specify a list of URLs and Site Names within Settings. The functionality is almost exactly the same as the Twitter app that allows for a list of usernames and passwords and in the mail app where the server name, inbound and outbound email server names/addresses are maintained. I am familiar with doing this with archive, CoreData and SQLite within the app, but would prefer to keep key settings outside the app as I would like to intentionally distance the config data from the user interface.
Thanks
Derrick
Unfortunately you're pretty limited with what you can do in the settings. There isn't any way to run code, so there can be no add buttons or changes to the model - its basically predefined key value pairs. Twitter and mail are first-party apps so they can do things in settings the rest of us can't.