2011-12-20 1 views
2

ユーザーのカレンダーをローカルストアに同期させるアプリケーションを作成しています。私はExchange Web Services(EWS)とSyncFolderItemsメソッドを使用して変更をプルダウンしています。同期されたアイテムに「定期的な」予定が含まれていないことがわかるまで、これは完全に機能しました。Exchange WebサービスSyncFolderItems定期的なアイテムのIsRecurringは、実際に繰り返されるときにfalseに設定されます。

もう1つのstackoverflowの記事では、これが「仮想」であるためです。しかし、それは "マスター"アポイントメントを含みます。事は、大丈夫です。私は再発をサポートする第三者のカレンダーで予定をレンダリングしているので、予定からの再発情報を保存するだけでよいので、それを自分のカレンダーに翻訳することができるので、正しい情報が表示されます。

しかし、「IsRecurring」フィールドをチェックすると、明らかに定期的な予定である場合はfalseと表示されます。誰もこれを見て?

+0

「別のstackoverflow記事」へのリンクはありますか? – Chris

+0

確かに - http://stackoverflow.com/questions/6117353/why-does-ews-managed-api-syncfolderitems-not-return-recurring-appointments – nickthompson

答えて

2

私は繰り返しアイテムを除外しようとしていたので、私は同じことに気付きました。私は、そのアイテムが再発の一部であったかどうかを判断するために、代わりにCalendarItemType(http://msdn.microsoft.com/en-us/library/exchange/aa494158(v = exchg.140).aspx)を照会して確認しましたこのプロパティはSyncFolderItemsシェイプでクエリ可能です。

+1

GetItemを呼び出すと同じです。 CalendarItemTypeは信頼できるフィールドで、IsRecurringではありません –

+0

EWS管理APIを使用してCalendarItemTypeフィールドをクエリする方法を詳しく教えてください。 – Alexander

+0

残念ながら、このコードベースはもはや私には利用できませんが、私はこの特定のプロパティをクエリするために何か特別な処理を行う必要はありません。いくつかのプロパティでは、黒い魔法が必要な場合があります。その場合、私のために選ばれた呪文はOutlookSpyでした。http://www.dimastr.com/outspy/home.htm –

1

IsRecurringが常に正しく設定されているとは限りません(grr ...)。解決方法は、上記のCalendarItemTypeフィールドを確認し、それがRecurringMasterに等しい場合です。次に、IsRecurringがtrueである必要があります。 Other possible values include

  • Single
  • Occurrence
  • Exception

もののSyncFolderItemsの場合には、それは私は信じてRecurringMasterまたはSingleのどちらかになります。

関連する問題