данные не извлекаются из мировоззрения офиса 365? - PullRequest
2 голосов
/ 12 февраля 2020
IPublicClientApplication publicClientApplication = PublicClientApplicationBuilder
            .Create("dcb4a15***d745b428b2ac")
            .WithTenantId("8392***f0b-93b0-d4013318ea7d")
            .Build();
 var password = new SecureString();
            password.AppendChar('*');
            password.AppendChar('*');
            password.AppendChar('*');
UsernamePasswordProvider authProvider = new UsernamePasswordProvider(publicClientApplication, scopes);

GraphServiceClient graphClient = new GraphServiceClient(authProvider);

User me = await graphClient.Me.Request()
                .WithUsernamePassword("username.onmicrosoft.com", password)
                .GetAsync();
var queryOptions = new List<QueryOption>()
            {
                new QueryOption("startDateTime", "2020-02-18T16:00:00.0000000"),
                new QueryOption("endDateTime", "2020-02-18T16:00:00.0000000")
            };

            var calendarView = await graphClient.Me.Calendar.CalendarView
                .Request(queryOptions)
                .GetAsync();

код выше написан, чтобы получить представление календаря в c#. net, но он не работает. Я не получаю никаких данных из календаря, используя график, я использую бот-каркас 4, я добавил microsoft.graph, пакет microsoft.graph.auth, microsoft.identity.client enter image description here

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Error Image

Я получил ошибку выше для следующего кода, имеющего мои учетные данные

UsernamePasswordProvider authProvider = new UsernamePasswordProvider(publicClientApplication, scopes);
            GraphServiceClient graphClient = new GraphServiceClient(authProvider);
            User me = graphClient.Me.Request()
                .WithUsernamePassword("username.onmicrosoft.com", s)
                .GetAsync().Result;
            var queryOptions = new List<QueryOption>()
            {
                new QueryOption("startDateTime", "2020-02-12T16:00:00.0000000"),
                new QueryOption("endDateTime", "2020-02-18T16:00:00.0000000")
            };

            var calendarView = graphClient.Me.Calendar.CalendarView
                .Request(queryOptions)
                .GetAsync().Result; 

enter image description here

0 голосов
/ 13 февраля 2020

Я тестировал код в методе Main, поэтому вместо Await я использую Task.Result. Я могу получить CalendarView, как и ожидалось.

UsernamePasswordProvider authProvider = new UsernamePasswordProvider(publicClientApplication, scopes);
            GraphServiceClient graphClient = new GraphServiceClient(authProvider);
            User me = graphClient.Me.Request()
                .WithUsernamePassword("username.onmicrosoft.com", s)
                .GetAsync().Result;
            var queryOptions = new List<QueryOption>()
            {
                new QueryOption("startDateTime", "2020-02-12T16:00:00.0000000"),
                new QueryOption("endDateTime", "2020-02-18T16:00:00.0000000")
            };

            var calendarView = graphClient.Me.Calendar.CalendarView
                .Request(queryOptions)
                .GetAsync().Result;

Я получаю один результат, поскольку у меня есть только одно событие между 2020-02-12 и 2020-02-18. Я заметил, что вы использовали то же время, что и startDateTime и endDateTime. Вам необходимо проверить, есть ли у вас события календаря между startDateTime и endDateTime.

enter image description here

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...