1

キャンパストーク情報を取得してGoogleカレンダーに挿入しようとしています。

私の質問は、イベントをデフォルトのカレンダー (xxxx@gmail.com) にのみ挿入できますが、他のカレンダー (たとえば、「キャンパス トーク」という名前のカレンダー) にイベントを挿入することはできません。

これを行うために python を使用しており、Google カレンダー API v2 を使用しています。

これがコードです。

calendarExample クラスはこちらです。

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」を作成しました。デフォルトのカレンダーではなく、このカレンダーにイベントを挿入するにはどうすればよいですか?

助けてください、ありがとう!

4

1 に答える 1

0

_InsertCalendarオブジェクトを返しCalendarます (行を参照157)。calendar呼び出すときに現在のオブジェクトの代わりにそれを使用します_InsertSingleEvent( line のように557)。


たとえばオブジェクトの作成と使用に注意してtalksください。

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

....

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

(長い行を で省略していることに注意...してください)

于 2013-10-13T13:10:05.093 に答える