アーカイブ メールボックスのリダイレクトを処理する

アーカイブ メールボックスには、メイン アーカイブ メールボックスと 1 つ以上の補助アーカイブ メールボックス (自動拡張アーカイブを使用して作成) を含めることができます。 時間の経過とともに、フォルダーの内容がこれらのメールボックスに分散される場合があります。

場合によっては、メインのアーカイブ メールボックスにフォルダーが表示されますが、その内容は実際には補助アーカイブ メールボックスに存在します。 この種類のフォルダーは 、展開フォルダーと呼ばれます。 これはメイン アーカイブ内のフォルダーの論理表現として機能しますが、データ自体は別のアーカイブ メールボックスに格納されます。

アプリケーションが展開されたフォルダーにアクセスすると、API から HTTP リダイレクトまたはエラー応答が返される場合があります。 応答は、コンテンツにアクセスするための正しいエンドポイントを示します。

メカニズム

  • アプリは、メインのアーカイブ メールボックス ID を使用してフォルダーまたはアイテムに対して要求を行います。
  • ターゲットが補助アーカイブに存在する場合、API はリダイレクト URL を含むリダイレクト応答 ( HTTP 308 Permanent Redirect など) を返します。
  • アプリは、応答で示されている URL に対して新しい要求を行います。

例 1: フォルダーにアクセスするときにリダイレクトする

補助アーカイブ メールボックスに物理的に存在するフォルダーにアクセスすると、API は Location ヘッダーを含むHTTP 308 Permanent Redirectを返します。

要求

次の例は要求を示しています。

GET https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/folders/NJWt2LeVEAAAIBDAAAAA==

応答

次の例は、リダイレクトの応答を示しています。

HTTP/1.1 308 Permanent Redirect
Content-Length: 0
Location: https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:767fh867@a7809c93/folders/NJWt2LeVEAAAIBDAAAAA==

フォローアップ要求

Location ヘッダーの URL を使用して新しい要求を行います。

GET https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:767fh867@a7809c93/folders/NJWt2LeVEAAAIBDAAAAA==

例 2: アーカイブ リダイレクト応答を使用して項目をエクスポートする

自動拡張アーカイブ フォルダーがあるメールボックスからアイテムをエクスポートすると、応答の一部のアイテムにデータではなく ErrorArchiveFolderMovedPermanently エラーが含まれる場合があります。 これは、アイテムが物理的に補助アーカイブ メールボックスに存在することを示します。 エラー メッセージで指定された URL を使用して、これらの項目のエクスポート要求を再発行します。

応答

次の例は、1 つの項目が正常にエクスポートされ、別の項目にリダイレクトが必要な応答を示しています。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.exportItemResponse)",
    "value": [
        {
            "itemId": "AAMkADHGHGDDDSSAFDHGJ",
            "changeKey": "CQAAABYAAAC92FzB9+QsR5Q6SPVnShx0AAAAABQ/",
            "data": "AQAAAAgAAAAAAAAAAQAAAAQAA"
        },
        {
            "itemId": "AQMkADVmZgBkYzA2OSADDSG",
            "Error": {
                "message": "https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:5ffdc069-c31e-43fa-9542-eaf862ce18c0@601eaae7-815e-4d2e-9e48-109351d094ab/exportItems",
                "code": "ErrorArchiveFolderMovedPermanently"
            }
        }
    ]
}

ErrorArchiveFolderMovedPermanently返されたアイテムに対して、アイテム ID を含むエラー メッセージの URL に対して新しい POST 要求を作成してエクスポートします。

例 3: リダイレクト処理を使用してアーカイブ フォルダーにインポートする

補助 (自動拡張) アーカイブ メールボックスに物理的に存在するフォルダーにアイテムをインポートしようとすると、適切なターゲット メールボックスを示す HTTP 409 Conflict 応答を受け取ります。

応答

次の例は応答を示しています。

HTTP/1.1 409 Conflict
Content-type: application/json

{
    "Message": "Invalid import session. The target session is expected in mailbox MBX:f10964a6-4fd0-4f74-8@4d2e-9e48-109351d094ab."
}

この問題を解決するには、エラー メッセージ (この場合は MBX:f10964a6-4fd0-4f74-8@4d2e-9e48-109351d094ab) に示されているメールボックス ID を対象とする新しいインポート セッションを作成します。 インポートを再試行するには、新しいセッション応答の importUrl プロパティを使用します。