We are trying to integrate office 365 using EWS managed API's. We have created one service account with impersonation role using office 365 admin center. Now, how can we use that service account to access other user's data(like mails, contacts, calendar) in the application ? Thanks, Rohit
2 Answers
2
votes
You create an instance of ExchangeService as usual and then set its ImpersonatedUserId.
Sample:
var credentials = new WebCredentials(
"[email protected]", "password", "");
var exchange = new ExchangeService{PreAuthenticate=true, Credentials=credentials};
exchange.ImpersonatedUserId = new ImpersonatedUserId(
ConnectingIdType.SmtpAddress,
"[email protected]");
After this you can access the other user's (in this case calendaruser) data.
1
votes
http://msdn.microsoft.com/en-us/library/office/dn722377(v=exchg.150).aspx and all of its sub-topics is a good place to start.