現象
Microsoft Graph REST API を使用して、Exchange Online のユーザー メールボックスからすべての予定表を要求します。 応答は HTTP 状態コード 200 OK
を返しますが、応答本文の calendar リスト は既定の予定表 ("Calendar" という名前) を省略します。 メールボックスに既定以外の予定表がある場合は、その予定表のみが一覧表示されます。
原因
この問題は、メールボックス内の予定表オブジェクト キャッシュが破損しているために発生します。
解決方法
Note
次の手順を使用するには、クラウド ユーザーであるか、クラウド メールボックスへのフル アクセス許可を持っている必要があります。 Outlook デスクトップ クライアントがインストールされている Microsoft Windows ベースのコンピューターと、メールボックスの Outlook プロファイルで手順を実行します。
この問題を解決するには、メールボックス内の予定表オブジェクト キャッシュを削除して再作成します。 次のステップを実行します。
Microsoft Outlook で File>Office account>About Outlook を選択して、デスクトップ クライアントが 32 ビット版か 64 ビット版 バージョンかを判断します。
Outlook のインストールのビット数に合わせて、 MFCMAPI の最新の 32 ビットバージョンまたは 64 ビット バージョンをダウンロードして抽出します。
重要
MFCMAPI エディターはサポートされていますが、それを使用してメールボックスの設定を編集する場合は注意してください。 MFCMAPI エディターを誤って使用すると、メールボックスが永続的に破損する可能性があります。
Outlook (開いている場合は Outlook on the web) を閉じ、MFCMapi.exe実行します。 MFCMAPI のスタートアップ画面が表示されたら、それを閉じます。
Tools>Options を選択して、Options ウィンドウを開きます。
次の両方のオプションを選択し、 OKを選択します。
"OpenMsgStore を呼び出すときに MDB_ONLINE フラグを使用する"
"OpenEntry を呼び出すときに MAPI_NO_CACHE フラグを使用する"
Session>Logon を選択して、Choose Profile ウィンドウを開きます。
メールボックスの Outlook プロファイル名を選択し、 OK を選択します。
Display Name列で該当するメールボックスをダブルクリックして開きます。
左側のウィンドウで、 Root Container>Common Views に移動します。
Common Views を右クリックし、[関連付けられているコンテンツ テーブルを開くを選択します。
Subject 列に
Calendar
値を持つテーブル エントリごとに、カレンダー オブジェクト キャッシュをバックアップします。エントリを右クリックし、 Export message を選択して[メッセージをファイルに保存] を開きます ダイアログ。
OKを選択して[保存ダイアログを開きます。
バックアップ フォルダーを選択し、 保存を選択します。
Subject 列に
Calendar
値を持つテーブル エントリごとに、カレンダー オブジェクト キャッシュを削除します。エントリを右クリックし、[メッセージの削除] 選択して[アイテムの削除] ダイアログを開きます。
[OK] を選択します。
この手順を完了したら、Subject 列に値が
Calendar
テーブル エントリがないことを確認します。Outlook on the web を開き、該当するメールボックスにサインインして、既定の予定表を表示します。 この手順では、メールボックスに予定表オブジェクト キャッシュを再作成します。
MFCMAPI で、1 つ以上のテーブル エントリの値が Subject 列に
Calendar
されていることを確認します。すべての MFCMAPI ウィンドウを閉じて、アプリケーションを終了します。
予定表オブジェクト キャッシュがメールボックス内で完全に更新されるまで 5 分待ってから、予定表の要求を再試行します。