2014-12-04 4 views
2

У меня возникла проблема с использованием новой библиотеки python API Google Calendar v3. Документация выглядит немного редкими. Я могу аутентифицировать и получать события в определенном календаре. Тем не менее, я хотел бы выполнить пакетное обновление, как это было возможно с библиотекой GData:Обновление пакета календаря Google v3 в python

# example from gdata 
# feed that holds all the batch rquest entries 
    request_feed = gdata.calendar.data.CalendarEventFeed() 
# add the update entries to the batch feed 
    request_feed.AddUpdate(entry=updateEntry1) 
    request_feed.AddUpdate(entry=updateEntry2) 
# submit the batch request to the server 
    response_feed = self.cal_client.ExecuteBatch(request_feed, gdata.calendar.client.DEFAULT_BATCH_URL) 

Существует пример здесь в HTML https://developers.google.com/google-apps/calendar/batch#example. Но могу ли я сделать это с помощью библиотеки python?

ответ

2

Есть общие инструкции API библиотеки Python API Google here. Попробуйте что-нибудь вроде:

from apiclient.http import BatchHttpRequest 

def insert_event(request_id, response, exception): 
    if exception is not None: 
    # Do something with the exception 
    pass 
    else: 
    # Do something with the response 
    pass 

service = build('calendar', 'v3') 

batch = BatchHttpRequest(callback=insert_event) 

batch.add(service.events().quickAdd(calendarId="[email protected]", 
    text="Lunch with Jim on Friday")) 
batch.add(service.events().quickAdd(calendarId="[email protected]", 
    text="Dinner with Amy on Saturday")) 
batch.add(service.events().quickAdd(calendarId="[email protected]", 
    text="Breakfast with John on Sunday")) 
batch.execute(http=http) 
+0

Спасибо! Это похоже на что-то. – eldorz

+0

@JayLee можете ли вы сообщить мне, как я могу отдать весь ответ HTML из пакетного запроса .... Я имею дело с gmail api, и я получаю ответ в функции insert_event, но я не могу его отобразить ... , –