问题描述
API 示例:
我想要用户的工作时间和时区,我使用 getSchedule api 来获取它
但它给出的时区与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": ["[email protected]","[email protected]"],"startTime": {
"dateTime": "2019-03-15T09:00:00","timeZone": "Pacific Standard Time"
},"endTime": {
"dateTime": "2019-03-15T18:00:00","availabilityViewInterval": 60
}
{
"@odata.context": "https://graph.microsoft.com/v1.0/$Metadata#Collection(microsoft.graph.schedule@R_774_4045@ion)","value": [
{
"scheduleId": "[email protected]","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"
}
我可以通过应用程序级别的凭据以任何方式获得它吗?
解决方法
您可以参考this示例中提到的point2。这是必要的,因为 Microsoft Graph 可以将时区作为 Windows 时区名称返回,而 Python DateTime 库需要 IANA 时区标识符。
希望这会有所帮助。谢谢!