django + vobject를 사용하여 ICS 피드를 게시하려고합니다. 테스트 실행, 나는 정의는 다음 뷰를 가지고 :출판물이 장고에 있습니다.
def ical(request, user_id=None):
cal = vobject.iCalendar()
cal.add('method').value = 'PUBLISH'
cal.add('calscale').value = 'GREGORIAN'
cal.add('x-wr-calname').value = 'TestCal28'
cal.add('x-wr-timezone').value = 'Australia/Sydney'
cal.add('x-wr-caldesc').value = ''
vevent = cal.add('vevent')
vevent.add('dtstart').value = datetime.now()
vevent.add('dtend').value = datetime(2010, 7, 22)
vevent.add('dtstamp').value = datetime.now()
vevent.add('summary').value = "Test event"
icalstream = cal.serialize()
response = HttpResponse(icalstream, mimetype='text/calendar')
response['Filename'] = 'filename.ics'
response['Content-Disposition'] = 'attachment; filename=filename.ics'
그래서 당신은 당신이 filename.ics, 마임 = 텍스트/달력을 제공받을해야 rosters.davidmck.com/ical/로 이동 신경합니다. 여태까지는 그런대로 잘됐다.
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
PRODID:-//PYVOBJECT//NONSGML Version 1//EN
BEGIN:VEVENT
UID:[email protected]
DTSTART:20100720T173356
DTEND:20100722T000000
DTSTAMP:20100720T173356
SUMMARY:Test event
END:VEVENT
X-WR-CALDESC:
X-WR-CALNAME:TestCal28
X-WR-TIMEZONE:Australia/Sydney
END:VCALENDAR
이 더 - 또는 - 덜 형성 ICS 파일로 보인다는 일체의 나는 구글 캘린더를 수동으로 업로드를 포함하여, 시도했습니다의 일정 응용 프로그램에 가져옵니다. 야후를 사용하여 URL을 통해 구독하는 경우 A-OK도 작동하는 것으로 보입니다. 그러나 킬러가 있습니다. Google 캘린더는 가입으로 작동하지 않습니다. Goocal에 URL로 추가하려고하면 "URL에서 캘린더 가져 오기"라는 메시지가 영원히 보일뿐 아니라 때로는 실패 메시지가 생성됩니다. 난 그냥 그 filename.ics을 일부 정적 파일 제공 위치 (같은 http://rosters.davidmck.com/site_media/filename.ics)에 넣어 경우
더 실망, 여전히 작동하지 않습니다.
내가 알 수있는 한 두 위치 (정적 및 생성 된)는 외부에서 사용할 수 있습니다. 나는 또한 ics를 다른 웹 서버에 업로드하려고 시도했다. 은 실제로을 작동시키는 것처럼 보였으므로 Goocal은 내 웹 서버가 왠지 마음에 들지 않는다고 생각한다. 그것은 나를 미치게합니다. 나는 왜 그런지 생각할 수 없습니다.