2

間違いがなければ、vCalendarオブジェクトを介してOutlookの「ダウンロード可能な」イベントを提供できる必要があります。

私が行った調査から、vObjectの使用が指摘されました。私はそれらの使用例を見てきましたが、フォーマットの経験がないので、どのフィールドが利用可能であるか、またはそれらが何と呼ばれているのかわからないため、問題を解決する方法がわかりません...

開始時刻と終了時刻/日付を持つ、ある種の名前/説明を使用して非常に単純なオブジェクト/ vCalendarイベントを作成する簡単な例はありますか?

私はDjangoを使用しますが、おそらく要求に応じて「ダウンロード」用にこれらを動的に作成します。

4

3 に答える 3

2

最も有用なフィールドは次のとおりです。

  • dtstart: 始まる時間
  • dtend: 終了時間
  • summary
  • location
  • url
  • description

次に、次のコマンドでカレンダーを作成します。

cal = vobject.iCalendar()

その後、イベント:

event = cal.add('vevent')

そしてそれを投入します:

event.add('summary').value = 'your summary'
event.add('dtstart').value = datetime.now() # or anything else
...

これで、http経由でカレンダーを返したい場合は、を使用できますcal.serialize()

于 2010-06-04T17:46:53.883 に答える
1

Windowsシステムでも同じ問題が発生していました。crlfsをlfsに置き換えると、物事がうまくいき始めました。

output = cal.serialize().replace(u'\r\n', u'\n' ).strip()
于 2011-06-30T02:13:27.783 に答える
1

Outlook 2003では、すべてのVEVENTにUIDフィールドが必要なようです。icalendarモジュールはこれらを使用していないようです。そのため、次のコードスニペットを追加する必要がありました。

import uuid
...
event.add('uid',uuid.uuid4())
于 2012-01-25T14:18:48.840 に答える