Outlook の「インターネット カレンダー サブスクリプション」をプログラミングするための公式ソースはありますか。
インターネット予定表購読は、Outlook でダウンロードして表示する予定表です。ただし、予定表のスナップショットとは異なり、インターネット予定表の購読は自動的に更新されます。
ASP.NET MVC とDDay.iCal ライブラリを使用しています。私はそのようなカレンダーを作成できませんでした。特定の質問への回答が必要です。私は推測するのにうんざりしています。また、ランダムなコード、古い codeproject 記事へのリンク、またはその他の非公式なものは受け入れません。
私が持っている唯一の具体的な情報は、URLが
- から始める
webcal://
.ics
ファイル名で終わる
ユーザーごとに、できれば Outlook がアドレスをポーリングするたびに、一意の最新のカレンダーを生成する必要があります。カレンダーの更新をサイトの CRUD 部分にフックすることは避けたいです。そのため、Outlook が受け入れるものについていくつかの詳細を知る必要があります。
Outlook がアドレスにヒットしたときに、(または派生物: ストリーム、コンテンツ、パス) を返すコントローラー/アクションを使用して
FileResult
、カレンダーを動的に生成できますか?のようにアクションを装飾することで、URL の ICS ファイル/ファイル名部分を「偽造」できます
[ActionName("iCalFeed.ics")]
か?を使用してアクションのリンク
ActionLink
を作成できますか?webcal
<%= Html.ActionLink("Connect to Outlook", "iCalFeed.ics", "Schedule", "webcal", null, null, null, null) %>
これらのいくつかをアドホックな方法で試してみました.Outlookはwebcal
リンクをポップアップして処理するのが大好きですが、何も表示されず、エラーメッセージも表示されません. Outlook Web カレンダーのインポート エラーを探す場所はありますか?
上記の質問に「いいえ」の場合、Outlook がアドレスをポーリングするたびに新しいコンテンツを提供する別の方法はありますか? サイトの CRUD 操作と同期してカレンダーを更新したくありません。それは必要以上に複雑に思えます。
いずれにせよ、iCalendar 仕様の Outlook が適切に更新される「サブスクリプション」を必要とする部分を知る必要もあります。有効なICS ファイルを通常の「スナップショット」としてインポートし、開始日と終了日、概要、および場所を最小限に抑えました。しかし、明らかに、仕様にはいくつかのトリッキーな部分があります。
METHOD
( RFC2445 4.7.2 メソッド)を設定する必要がありますか? このプロパティまたはそれが受け入れる値の適切な説明を見つけることさえできません (クライアント固有ですか?)。イベント UID を追跡し、システムの CRUD 操作に基づいてそれらの配置を変更する必要がありますか? または、後続のポーリングでカレンダーからイベントを追加/削除/更新することで、Outlook がそれを理解するのに十分ですか? 追跡する必要がある場合は、永続性と状態認識のレイヤー全体をアプリケーションに追加する必要があります。
追跡している場合、他の SO の質問で、Outlook は
ORGANIZER
プロパティについて非常にうるさいことに気付きました...メールアドレスである必要がありますか? リンクmailto:
かアドレスか?
私はロープの終わりにいます。適切なカレンダー サブスクリプションを生成する Web サイトを実際に構築することに関する質問に回答するドキュメントがあれば、喜んで読みます。この奇妙な変換「アルゴリズム」以外は、MSDN で何も見つかりませんでした。そして、私が知る限り、それは役に立たない.
明確にするために、任意のユーザー用に基本的な ICS ファイルを生成し、それを Outlook で手動で起動できます。Webcal リンクをまったく機能させることができません。
[iTIP](https://www.rfc-editor.org/rfc/rfc2446) および [iMIP](https://www.rfc-editor.org/rfc/rfc2447) ?