Могу ли я получить часовой пояс в действительном формате, который может использоваться python непосредственно из API Microsoft graph при получении расписания пользователя?

#python #microsoft-graph-api #office365 #outlook-restapi #outlook-calendar

Вопрос:

Пример API:

Мне нужно рабочее время пользователя с часовым поясом, я использовал api getSchedule, чтобы получить его

Но это дает часовой пояс, который прямо несовместим с python

Итак, я хочу, чтобы часовой пояс был «Азия/Калькутта», а не «Стандартное время Индии».

Потому что я хочу реализовать его на python следующим образом

 import pytz

indian_timezone = pytz.timezone('Asia/Kolkata')

 
 POST /users/{id|userPrincipalName}/calendar/getSchedule
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json

{        
    "schedules": ["adelev@contoso.onmicrosoft.com", "meganb@contoso.onmicrosoft.com"],
    "startTime": {
        "dateTime": "2019-03-15T09:00:00",
        "timeZone": "Pacific Standard Time"
    },
    "endTime": {
        "dateTime": "2019-03-15T18:00:00",
        "timeZone": "Pacific Standard Time"
    },
    "availabilityViewInterval": 60
}
 
 {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.scheduleInformation)",
    "value": [
        {
            "scheduleId": "msft@msft.com",
            "availabilityView": "0000000",
            "scheduleItems": [],
            "workingHours": {
                "daysOfWeek": [
                    "monday",
                    "tuesday",
                    "wednesday",
                    "thursday",
                    "friday"
                ],
                "startTime": "08:00:00.0000000",
                "endTime": "17:00:00.0000000",
                "timeZone": {
                    "name": "India Standard Time"
                }
            }
        }
    ]
}

 

И мне нужен часовой пояс, как

  "timeZone": {
        "name": "Asia/Kolkata"
 }
 

Могу ли я получить его любым способом с помощью учетных данных уровня приложения?

Ответ №1:

Вы можете обратиться к пункту 2, упомянутому в этом примере. Это необходимо, поскольку Microsoft Graph может возвращать часовые пояса в качестве имен часовых поясов Windows, а библиотека Python DateTime требует идентификаторов часовых поясов IANA.

Надеюсь, это поможет. Спасибо!