Mohan-Snow / event-notification-bot

4 stars 0 forks source link

Изучить как использовать outlook api для получения информации о ивентах пользователя #5

Open Mohan-Snow opened 2 months ago

Mohan-Snow commented 2 months ago

https://learn.microsoft.com/en-us/graph/api/calendar-list-events?view=graph-rest-1.0&tabs=http

Mohan-Snow commented 2 months ago

Вариант: https://github.com/amhester/go-outlook

zhenuari commented 2 months ago

А кроме этой либы для выгрузки событий че т ниче особо нету, а вариант самому апиху накатать сильно? Если предложенный не очень

dapmoed commented 2 months ago

Возможно подойдут библиотеки: https://github.com/Abovo-Media/go-ews https://pkg.go.dev/github.com/mhewedy/ews

greenblat17 commented 1 month ago

Получение событий за конкретный день для пользователя: GET /users/{id | userPrincipalName}/calendars/{id}/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime} Документация по API: https://learn.microsoft.com/en-us/graph/api/calendar-list-calendarview?view=graph-rest-1.0&tabs=cli

Необходимо:

Регистрация приложения в Azure AD: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-configure-app-access-web-apis

Получение разрешения Calendars.Read: https://learn.microsoft.com/en-us/graph/permissions-reference

Для получения токена необходимо выполнить запрос: POST https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token

{
    "grant_type": "client_credentials",
    "client_id": "client_id",
    "client_secret": "client_secret",
    "scope": "https://graph.microsoft.com/.default"
}

Значение tenant_id, client_id, client_secret необходимо взять из Azure AD

Mohan-Snow commented 1 month ago

Я правильно понимаю, что наш порядок действий такой?

greenblat17 commented 1 month ago

Да, все верно