Mailbox Group Members GUID - exchangewebservices

How to get the GUID of mailboxes which has added under group.
Consider that i am having "TestGroup" mailbox group. Under this "mailbox1", mailbox2, mailbox3 are exist.
I am using ExpandGroup function to get members of group but the result is not having mailbox GUID.
How can i get GUID for those mailboxes using ews API ?

Why do you need the Mailbox Guid it won't be usable in EWS itself ? you can use the GetSearchableMailboxes https://learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/getsearchablemailboxes-operation which is the only operation that will return the GUID in EWS in know of. If you using Office365 using then you can get this information using the Graph API much easier.

Related

Exchange Web Services (EWS) - How to identify if meeting participant is mail group or individual attendee

I am using EWS (Exchange Web Services) to do various operations with outlook meeting item. One of the requirement is to fetch created meeting and identify if particular participant is mail group email address or individual attendee's email address.
I could get meeting item using FindItem / GetItem however, not sure about how exactly participant's type can be checked.
Can you please suggest if any such option available with EWS ?
Thanks,
You will need a GetItem to see the attendees of a Meeting as FindItem won't return that information. Once you have the recipients you can check the MailboxType property https://learn.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.mailboxtype?redirectedfrom=MSDN&view=exchange-ews-api . If that doesn't work then try the FindPeople operation https://learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/findpeople-operation. If you using Office365 then doing a Graph lookup is probably a better and eaiser option to find that information.

Get all history (versions) of an exchange meeting using EWS

I am using EWS API to manage the exchange meetings (create/update/delete). When I retrieve an appointment there is AppointmentSequenceNumber indicating version of changed appointment in the response, is there a way to get all versions (history) of the appointment?
You can search for them in the WellKnownFolderName.RecoverableItemsVersions folder using the uid property of the Appointment see https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Holy-COW-Changes-to-Recoverable-Items-versioning-in-Exchange/ba-p/600259

Get Emails from Multiple Inboxes using EWS Managed API 2.2

Is it possible to retrieve emails from multiple inboxes using EWS Managed API 2.2? I am able to retrieve email from an Inbox using ExchangeService passing in Credentials to the service call then doing a FindItems on the service connection. All of this works good.
I would like to get emails from multiple inboxes using a single call. Is this possible. Any sample code would be very much appreciated.
You can acces EWS through either Oauth, NTLM or Basic-authentication, which all are per-request authentication schemes. Oauth takes some initial setup, and NTLM takes 3 requests in total for every EWS request, but in either way, it's just for one user at a time.

Get-Mailbox equivalent in EWS api

I am looking for method to get the list of all the mailboxes through ews api.
Is there any method call,Get-Mailbox cmd in powershell, that can get me the list of all the mailboxes in an exchange server/ office 365 in EWS API?
No. EWS is used to access mailbox data, not get lists of mailboxes. Get-Mailbox is the way to do it, and you can invoke this programmatically if needed.
ExchangeService.GetSearchableMailboxes is what you need, specify the the filter as an empty string, then you get all the mail boxes.

Google Contacts API's and scope?

Currently i'm trying to retrieve all of a users contact information as well as retrieve their unique User ID.
Our app needs to utilise a users google contacts and the user will sign in using google. Thus we require some way of identifying each unique user (most likely a unique user id provided by google)
Is this possible only using the google contacts API.
The initial call I make to retrieve an access token is:
"https://accounts.google.com/o/oauth2/auth?client_id=51672309258-94cnvnrkrverd72neakom9d3siscda5o.apps.googleusercontent.com&redirect_uri=http://localhost/lunch/oauth.php&scope=https://www.google.com/m8/feeds/&response_type=code"
However I do not believe the access token returned from this call has any information for user ID and, also, does not provide the permissions to retrieve User ID from the Google+ Api.
Is there anyway that one can obtain a unique user ID from the google contacts API? There are examples of obtaining a user id of the users contacts but I need to obtain the actual users ID (i.e. the user whose contacts I am obtaining)?
Does this require another scope or can this also be accomplished by using the contacts API?
You can identify a user by his/her email address, which is unique AFAIK. When you issue requests to google contacts api you get a field in the xml which is called Id, that is the user's email address.
For example you could ask for all contacts and you would get an xml like this .The Id field is what you want, and depending on the programming language, lib , etc you are using you can get it with your existing permissions. For example in C# and gdata you would do something like this(googleCredentials is supposed to be your object):
var cr = new ContactsRequest(settings);
var feed = cr.GetGroups();
googleCredentials.Email = feed.AtomFeed.Id.Uri.Content;
Note: The special userEmail value default can be used to refer to the
authenticated user.
from the documentation documentation. You may try the keyword default as userEmail.