7

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) ?
4

2 に答える 2

1

METHOD (RFC2445 4.7.2 メソッド) を設定する必要がありますか? このプロパティまたはそれが受け入れる値の適切な説明を見つけることさえできません (クライアント固有ですか?)。

メソッドについては、WebDavおよびCalDavの仕様を参照してください。

WebDAV のカレンダー拡張機能 (CalDAV

このドキュメントでは、Web Distributed Authoring and Versioning (WebDAV) プロトコルの拡張機能を定義して、iCalendar 形式に基づいて予定表およびスケジュール情報にアクセス、管理、および共有する標準的な方法を指定します。このドキュメントは、CalDAV の「カレンダー アクセス」機能を定義します。


メソッド (RFC2445 4.7.2 メソッド)?

RFC 2445 は RFC 5545 によって廃止されたので、5545 と 2445 の違いに興味があるかもしれません。そうすれば、2 つの共通部分に適合することができます。


私はロープの終わりにいます。適切なカレンダー サブスクリプションを生成する Web サイトを実際に構築することに関する質問に回答するドキュメントがあれば、喜んで読みます。

これらの標準はすべてCalConnectによって管理されており、役立つディスカッション リストがあります。

申し訳ありませんが、私は Outlook の個人的な実務経験がほとんどないため、これ以上役に立ちません。

于 2013-09-17T16:40:21.390 に答える
0

適切なドキュメントはまだ見つかっていませんが、Outlook の動作のいくつかを発見しました。「インターネットカレンダー購読」のwebcal/ics要件について

  • Outlook はhttp://アドレスを使用できます
  • Outlook は、次で終わらないルートを使用できます.ics

Outlook でこれらを自分で試すことができます。カレンダーを開く | インターネットから。ActionLink要求を処理できるアプリケーションを起動するようにブラウザが要求するように、/webcal リンクを引き続き使用することをお勧めします。

残りのコントローラー/アクション要件については...

  • Outlook は匿名の要求を行います*
  • Outlook は、バイナリ/ストリーム/文字列FileResultの種類のコントローラー アクションを受け入れることができます


* おそらく、そのルートに対して匿名を明示的に許可する必要があります。私のシステムでは、 の<location>タグを使用してフォーム認証をバイパスする必要がありました<allow users="?" />。セキュリティが必要な場合は、Google の機能をご覧ください。ユーザー/カレンダーごとに GUID トークンを含む URL を作成し、それを保護するように依頼します。

于 2013-09-17T14:53:36.637 に答える