Как получить настройки почтового ящика пользователя с помощью Graph SDK - PullRequest
0 голосов
/ 22 сентября 2018

У меня возникают проблемы при попытке получить эти данные с помощью клиентской библиотеки Graph, найденной здесь: https://www.nuget.org/packages/Microsoft.Graph в моем приложении c #.Мне известно, что данные доступны с помощью этого вызова API REST .

Я создал приложение Azure и предоставил ему приложение «Чтение всех настроек почтового ящика пользователя» и щелкнул «предоставить разрешения», чтобы применить их.Проблема не в моей аутентификации.Я могу получить данные.

MicrosoftAuthenticationProvider authProvider = 
    new MicrosoftAuthenticationProvider(applicationID, applicationSecret, microsoftURL);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
IGraphServiceUsersCollectionPage users = await graphClient.Users.Request().GetAsync();
foreach (User user in users)
{
    //user.MailboxSettings
    //returns null, but through intellisense, I can obtain it's attributes
    //Microsoft.Graph.MailboxSettings is available in the library's object browser

    //graphClient.Users[user.UserPrincipalName].MailboxSettings.Request().GetAsync() 
    //User.MailboxSettings is not available
}

В качестве крайней меры я буду использовать REST API, но если смогу, я просто хочу использовать библиотеку.

1 Ответ

0 голосов
/ 22 сентября 2018

Просто добавьте Выберите ("MailboxSettings") к вашему запросу.

Получите настройки почтовых ящиков пользователей на основе вашего кода

                IGraphServiceUsersCollectionPage users = await 
                    graphClient.Users.Request().GetAsync();

                foreach (User user in users)
                {
                    User fullUser = await graphClient.Users[user.UserPrincipalName].Request().Select("MailboxSettings").GetAsync();

                    MailboxSettings mailboxSettings1 = fullUser.MailboxSettings;                     
                }

enter image description here

...