#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.
Надеюсь, это поможет. Спасибо!