我想用最简单最方便的方法将事件从Python Django推送到用户的Google日历中。我不想阅读他们的活动或做任何其他事情,只需将他们在我的应用程序中创建的事件推送到他们的Google日历一次。
次要是可能删除其谷歌日历中的事件(如果我推入的事件被删除)。
答案 0 :(得分:1)
使用Google Calendar Data API。 http://code.google.com/apis/calendar/data/1.0/developers_guide_python.html#CreatingEvents
答案 1 :(得分:1)
这是一个片段:
from django import template
from django.contrib.sites.models import Site
from django.utils.http import urlquote_plus
register = template.Library()
@register.filter
def google_calendarize(event):
st = event.start
en = event.end and event.end or event.start
tfmt = '%Y%m%dT000000'
dates = '%s%s%s' % (st.strftime(tfmt), '%2F', en.strftime(tfmt))
name = urlquote_plus(event.name)
s = ('http://www.google.com/calendar/event?action=TEMPLATE&' +
'text=' + name + '&' +
'dates=' + dates + '&' +
'sprop=website:' + urlquote_plus(Site.objects.get_current().domain))
if event.location:
s = s + '&location=' + urlquote_plus(event.location)
return s + '&trp=false'
google_calendarize.safe = True
此代码可以通过以下方式调用:
{% load project_events_tags %}
...
<a href="{{ event|google_calendarize }}">+ Add to Google Calendar</a>