1

iPad 用のサンプル ics データをテストするために使用している php ページがありますが、Safari の [カレンダーで開く] ボタンをタップすると、カレンダー アプリがトリガーされますが、イベントについて何も表示されずに開きます。これが私のコードです:

<?php

$ical = "
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN

BEGIN:VEVENT
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:" . gmdate('Ymd').'T'. "160000Z
DTEND:" . gmdate('Ymd').'T'. "170000Z
SUMMARY:Paul's Birthday
END:VEVENT

BEGIN:VEVENT
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:" . gmdate('Ym').'T'. "230000Z
DTEND:" . gmdate('Ymd').'T'. "240000Z
SUMMARY:John's Birthday
END:VEVENT

END:VCALENDAR";


//echo out
header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: inline; filename=calendar.ics');
echo $ical;

?>

私は何を間違っていますか?

編集:

以下は、php から生成されるサンプル ファイルです。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN

BEGIN:VEVENT
DTSTAMP:20121017T204856Z
DTSTART:20121017T160000Z
DTEND:20121017T170000Z
SUMMARY:Paul's Birthday
END:VEVENT

BEGIN:VEVENT
DTSTAMP:20121017T204856Z
DTSTART:201210T230000Z
DTEND:20121017T240000Z
SUMMARY:John's Birthday
END:VEVENT

END:VCALENDAR
4

2 に答える 2

0

タイプミスがあります。2 番目の VEVENT では、DTSTART の日が欠落しています。

交換

gmdate('Ym')

gmdate('Ymd')

于 2012-10-18T06:20:18.900 に答える
0

自分で修正しました。どうやら iCal はBEGIN:VCALENDARの前に改行を入れるのが好きではありません。私は iCal がそのようなものを削除することを期待していましたが、明らかにそうではありません。そのため、誰かが iCal で問題を抱えている場合は、文字列が改行で始まっていないことを確認してください!

于 2012-10-18T15:56:02.440 に答える