クライアントが制限されたとき、付加的な HTTP 動詞を使用する

アプリが GET や POST 以外の動詞で HTTP 要求を行うことができない場合があります。 たとえば、一部のプロキシやファイアウォールなどは、オペレーターによって特定の HTTP 動詞をブロックするように設定されていたり、特定のアプリ環境が他の動詞をサポートしていない場合があります。 これらの場合、OneDrive API では、必要に応じて HTTP 動詞を指定する別の方法を提供します。

POST 要求を作成し、呼び出すメソッドに X-HTTP-Method-Override ヘッダー セットを追加することで、POST を通じて任意の HTTP 要求をトンネリングすることができます。 これは、POST としてではなく、そのヘッダーの値として指定された動詞として、サーバーに要求を処理するように通知します。

このヘッダーは POST 要求でのみ有効です。 他の HTTP メソッドでは無視されます。

たとえば、DELETE 動詞がファイアウォールによってブロックされている場合、アプリケーションは動詞を API にトンネリングして、アプリケーションがファイルを削除できることを確認できます。

POST /drive/items/{item-id} HTTP/1.1
Host: api.onedrive.com
X-HTTP-Method-Override: DELETE

この要求は、識別されたリソースを削除します。 サービスからの応答は、HTTP メソッドに DELETE があった場合に返される応答と一致します。