如何为Outlook Calendar API调用插入开始日期和结束日期和时间

时间:2016-07-08 03:16:10

标签: python django outlook office365 outlook-restapi

我正在使用Microsoft的示例Django应用程序并尝试从现在回到1年前阅读日历事件。 API请求使用Python请求函数完成:

response = requests.get(url, headers = headers, params = parameters)

标题是与标准API请求相关的:

headers = { 'User-Agent' : 'python_events/1.0',
            'Authorization' : 'Bearer {0}'.format(token),
            'Accept' : 'application/json',
            'X-AnchorMailbox' : user_email }

并且,对于参数I' m:

  query_parameters = {'$top': '2500',
                      '$select': 'Id,Subject,Start,End',
                      '$orderby': 'Start/DateTime ASC'}

现在,我尝试将开始日期和结束日期定义为:

  now = datetime.utcnow()
  one_year = now - timedelta(days=365)
  now = now.isoformat()
  one_year = one_year.isoformat()

然后,尝试在同一query_parameters dict中插入startDateTime和endDateTime参数:

  query_parameters = {'$top': '2500',
                      '$select': 'Id,Subject,Start,End',
                      '$orderby': 'Start/DateTime ASC',
                      'startDateTime' : one_year,
                      'endDateTime': now
                     }

我仍然在一年前收到事件转储。我在这做错了什么? query_parameters是插入开始和结束日期和时间的正确位置吗?

1 个答案:

答案 0 :(得分:0)

要使用startDateTimeendDateTime参数来限制日期范围,您需要在GET端点上执行/calendarview,而不是/events }。 /events端点不支持这些参数。

将您的url更改为https://outlook.office.com/api/v2.0/Me/calendarview,看看您是否获得了更好的结果。