2017-01-11 50 views
1

APIを使用してOutlook予定表からイベントを取得しようとしています。私は今日後にイベントを取得したいだけです。この関数は、次の中から呼び出さOutlook予定表API - Python

def make_api_call(method, url, token, user_email, payload = None, parameters = None): 
    # Send these headers with all API calls 
    headers = { 'User-Agent' : 'python_tutorial/1.0', 
       'Authorization' : 'Bearer {0}'.format(token), 
       'Accept' : 'application/json', 
       'X-AnchorMailbox' : user_email } 

    # Use these headers to instrument calls. Makes it easier 
    # to correlate requests and responses in case of problems 
    # and is a recommended best practice. 
    request_id = str(uuid.uuid4()) 
    instrumentation = { 'client-request-id' : request_id, 
         'return-client-request-id' : 'true' } 

    headers.update(instrumentation) 

    response = None 

    if (method.upper() == 'GET'): 
     response = requests.get(url, headers = headers, params = parameters) 
     print response.url 
    elif (method.upper() == 'DELETE'): 
     response = requests.delete(url, headers = headers, params = parameters) 
    elif (method.upper() == 'PATCH'): 
     headers.update({ 'Content-Type' : 'application/json' }) 
     response = requests.patch(url, headers = headers, data = json.dumps(payload), params = parameters) 
    elif (method.upper() == 'POST'): 
     headers.update({ 'Content-Type' : 'application/json' }) 
     response = requests.post(url, headers = headers, data = json.dumps(payload), params = parameters) 

    return response 

get_events_url = outlook_api_endpoint.format('/Me/Events') 

    query_parameters = {'$select': 'Subject,Start,End', 
         '$orderby': 'Start/DateTime ASC', 
         'startDateTime' : datetime.datetime.now().isoformat(),} 

    r = make_api_call('GET', get_events_url, access_token, user_email, parameters = query_parameters) 

それは単にで最初の10個のエントリを返し、私は(基本的には、Microsoftのチュートリアルからのカット・アンド・ペーストである)次のコードを使用しています今日からのエントリではなく、カレンダー。特定の日付のエントリを返すにはどうすればよいですか?

答えて

0

私のために働く解決策が見つかりました。それはとても働き

get_events_url = outlook_api_endpoint.format( '/ ME/calendarview')

query_parameters = {'$select': 'Subject,Start,End', 
         '$orderby': 'Start/DateTime ASC', 
         'StartDateTime' : datetime.datetime.now().isoformat(), 
         'EndDateTime' : datetime.datetime(2100,12,31),} 

    r = make_api_call('GET', get_events_url, access_token, user_email, parameters = query_parameters) 

を:まず、私はStartDateTimeを大文字にして、それは次のようになりますので、EndDateTimeを追加しました、calendarviewするイベントを変更しました私は幸せです

関連する問題