2013-10-13 3 views
1

Я пытаюсь получить информацию о студенческом городке и вставить в календарь Google.Google Calendar вставляет события в настраиваемый календарь

Мой вопрос, я могу только вставить событие по умолчанию календаря ([email protected]), но не могу вставить событие в другой календарь (например, календарь под названием «Кампус разговора»)

I Я использую python для этого, и я использую календарь Google api v2.

Вот код.

календарьExample класс - here.

email = raw_input("Email:") 
password = raw_input("Password:") 
infolist = CampusTalk("http://my.yingjiesheng.com/xuanjianghui_school_4.html") 
calendar = calendarExample.CalendarExample(email,password) 
# Delete old calendar 
feed = calendar.cal_client.GetOwnCalendarsFeed() 
for entry in feed.entry: 
    if entry.title.text == "Campus Talk": 
     print 'Deleting calendar: %s' % entry.title.text 
     calendar.cal_client.Delete(entry.GetEditLink().href) 
# Insert new calendar 
calendar._InsertCalendar(title="Campus Talk",description="Calendar of Campus Talk",time_zone='Asia/Shanghai', hidden=False, location='Shanghai',color='#2952A3') 

for campustalk_info in infolist: 
    try: 
     content = "%s\n%s\n%s\n%s\n%s"%(campustalk_info["city"],campustalk_info["school"],campustalk_info["location"],campustalk_info["time"].strftime("%Y-%m-%d %H:%M:%S"),campustalk_info["link"]) 
     if campustalk_info["time"] == "0": 
      campustalk_info["time"] = campustalk_info["date"] 
     start_time = (campustalk_info["time"]+datetime.timedelta(hours=-8)).strftime("%Y-%m-%dT%H:%M:%S.000Z") 
     end_time = (campustalk_info["time"]+datetime.timedelta(hours=-6)).strftime("%Y-%m-%dT%H:%M:%S.000Z") 
     calendar._InsertSingleEvent(title=campustalk_info["company"], content=content, where=campustalk_info["location"], start_time=start_time, end_time=end_time) 
    except Exception,e: 
     print e 
print "Finished!" 

Как вы можете видеть, я создаю новый календарь «Campus Talk», как я могу вставить события в этот календарь вместо одного по умолчанию?

Пожалуйста, помогите мне, спасибо!

+0

Вы видите мой ответ ? Было ли это полезно? – Geoff

ответ

0

_InsertCalendar возвращает Calendar объект (см. Строку 157). Используйте этот, вместо вашего текущего объекта calendar, когда вы вызываете _InsertSingleEvent (как в строке 557).


Для например отметить создание и использование в talks obect:

talks = calendar._InsertCalendar(title="Campus Talk", ... ,color='#2952A3') 

.... 

talks._InsertSingleEvent(title=campustalk_info["company"], ... ,end_time=end_time) 

(Примечание что я сокращенном длинные линии с ...)

+0

О, я вижу! Позвольте мне попробовать. Извините, я не проверил свой почтовый ящик надолго. –

+0

Привет, Джефф, я проверил ваш код. Мне жаль говорить вам, что я потерпел неудачу. Я вспомнил, что я пробовал это раньше, он вернет ошибки. «Объект CalendarEntry» не имеет атрибута «_InsertSingleEvent», я понятия не имею об этом, не могли бы вы мне помочь? –

Смежные вопросы