1

さて、ここで厄介な問題があり.icsます。Google カレンダーに毎日「アップロード」する必要があるファイルを作成するバッチ ファイルを作成しました。これで、バッチは問題なく動作します。問題は、結果の動作です。

簡単に言えば、最後のイベントだけがカレンダーに送信されるUIDということが起こります。VEVENT

例:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//prodvam v0.3//EN
METHOD:PUBLISH
BEGIN:VEVENT
UID:prod
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY1
END:VEVENT
BEGIN:VEVENT
UID:prod
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY2
END:VEVENT
END:VCALENDAR

SUMMARY2これは、 11 月 12 日付けのイベントのみを送信します...

UIDイベントを送信するために が必要ないことはわかっていますが、後でイベントを削除する場合は必須です [必要なので、その「コード」の行を消去することはできません]。

イベントを消去したり、.icsファイルを作成したり、すべてを作成したりできますUIDが、最後のイベントだけを送信する理由が理解できません!

イベントのコメントなど、ナンセンスなものも含めて、さまざまなものを追加/サブしようとしました...

私は何か間違ったことをしていますか?ヒントはありますか?

4

2 に答える 2

2

各イベントには独自の UID が必要です。あなたのファイルは修正されました:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ingrossod//Compagnia VAM v0.3//EN
METHOD:PUBLISH
BEGIN:VEVENT
UID:ingrossod1
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY1
END:VEVENT
BEGIN:VEVENT
UID:ingrossod2
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY2
END:VEVENT
END:VCALENDAR
于 2014-11-12T22:57:15.897 に答える
1

luc は問題に対する有効な回答を提供しますが、グローバルに一意の ID を持っていない可能性があります。

UIDUnique Identifierカレンダーコンポーネントの永続的でグローバルに一意の識別子である「一意の ID」を意味します。グローバルな一意性を保証するために、RFC ( https://www.rfc-editor.org/rfc/rfc5545#section-3.8.4.7を参照) は、それらがグローバルに一意であることを保証する方法に関するガイドラインを示しています。

一意性を保証する良い方法は、識別子が作成されたホストのドメイン名またはドメイン リテラル IP アドレスを "@" の右側に置き、左側に組み合わせを入れることです。現在のカレンダーの日付と時刻 (つまり、DATE-TIME 値としてフォーマットされている) と、システムで使用可能な他の現在一意の (おそらく連続した) 識別子 (たとえば、プロセス ID 番号)

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ingrossod//Compagnia VAM v0.3//EN
METHOD:PUBLISH
BEGIN:VEVENT
UID:20141112_SUMMARY1@ingrossod
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY1
END:VEVENT
BEGIN:VEVENT
UID:20141112_SUMMARY2@ingrossod
STATUS:CONFIRMED
SEQUENCE:0
DTSTART;VALUE=DATE:20141112
SUMMARY:SUMMARY2
END:VEVENT
END:VCALENDAR
于 2014-11-13T15:31:21.250 に答える