Как создать событие в календаре с помощью Microsoft График API? - PullRequest
0 голосов
/ 11 февраля 2020

Я создал бота, используя бот-фреймворк 4, я создаю событие в календаре, используя Graph API, но он не работает,

IPublicClientApplication  publicClientApplication = PublicClientApplicationBuilder
            .Create("2c4c8826-dc0d-42e2-9d87-190b4bbb2ec2")
            .WithTenantId("839291b6 - d335 - 4f0b - 93b0 - d4013318ea7d")
            .Build();
            var s = new SecureString();
                   UsernamePasswordProvider authProvider = new UsernamePasswordProvider(publicClientApplication, scopes);

            GraphServiceClient graphClient = new GraphServiceClient(authProvider);
            var @event = new Event
            {
                Subject = "Let's go for lunch",
                Body = new ItemBody
                {
                    ContentType = BodyType.Html,
                    Content = "Does late morning work for you?"
                },
                Start = new DateTimeTimeZone
                {
                    DateTime = "2020-02-15T12:00:00",
                    TimeZone = "Pacific Standard Time"
                },
                End = new DateTimeTimeZone
                {
                    DateTime = "2020-02-15T14:00:00",
                    TimeZone = "Pacific Standard Time"
                },
                Location = new Location
                {
                    DisplayName = "Harry's Bar"
                },
                Attendees = new List<Attendee>()
            {
                new Attendee
                {
                    EmailAddress = new EmailAddress
                    {
                        Address = "temp123@indica.onmicrosoft.com",
                        Name = "ASDF VHFG"
                    },
                    Type = AttendeeType.Required
                }
            }
            };

            await graphClient.Me.Events
                .Request()
                .Header("Prefer", "outlook.timezone=\"Pacific Standard Time\"")
                .AddAsync(@event);
            String ss = "sere";

, когда управление переходит в ожидание, graphclient выдает ошибку, как это решить? , как забронировать конференц-зал с помощью Graph API?

1 Ответ

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

Почему вы используете .WithTenantId("839291b6 - d335 - 4f0b - 93b0 - d4013318ea7d")? Это должно быть .WithTenantId("839291b6-d335-4f0b-93b0-d4013318ea7d"). И вы используете UsernamePasswordProvider. Поэтому вы должны изменить код следующим образом: await graphClient.Me.Events.Request().Header("Prefer", "outlook.timezone=\"Pacific Standard Time\"").WithUsernamePassword(username, s).AddAsync(@event);

Не забудьте добавить свой пароль к s. Как это: var s = new SecureString(); s.AppendChar('d'); s.AppendChar('u'); s.AppendChar('m'); s.AppendChar('b'); s.AppendChar('p'); s.AppendChar('a'); s.AppendChar('s'); s.AppendChar('s'); s.AppendChar('w'); s.AppendChar('d');

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