Outlook アドインで POST 送信が GET に変換される


こんにちは。日本マイクロソフト Outlook サポート チームです。
この記事では、Outlook アドイン (Web アドイン) 開発者の方向けに、アドインからの POST 送信が GET に変換される事象について説明します。

 

現象
1. Outlook アドインで submit ボタンを持つ作業ウィンドウを作成します。

 

2. 作業ウィンドウの HTML にて以下のように method を POST とした form を作成します。

<form action="http://www.contoso.msft/test/index.aspx" name="form1" method="post">
<input type="submit" value="テスト">
<input type="hidden" name="test01" value="0001">
</form>

 

3. ボタンをクリックすると、IE の新しいウィンドウがオープンし、アドレスバーに以下の URL が表示されます。

http://www.contoso.msft/test/index.aspx

 

4. このときのトラフィックを確認すると、コード上は POST 指定しているにもかかわらず、クライアントから以下のヘッダーでリクエストが送信されています。

GET /test/index.aspx HTTP/1.1

 

5. サーバー側でも GET としてリクエストが受信され、以下のようなログが記録されます。

2018-12-06 00:00:01 10.0.0.4 GET /test/index.aspx - 443 - 192.168.1.1 Mozilla/5.0+(Windows+NT+6.3;+WOW64;+Trident/7.0;+Touch;+rv:11.0)+like+Gecko - 200 0 0 29

 

上記 3 のとおり POST 指定のため URL にパラメーターは含まれません。パラメーター無しのまま GET 送信に変換されているため、この例の場合、パラメーター名 test01 の情報が消失します。

 

発生条件
Outlook for Windows の場合に発生します。Outlook on the Web などでは発生しません。

 

原因
Outlook アドインは作業ウィンドウを IE のコンポーネントを使用して開きます。
作業ウィンドウから form を submit すると、IE のウィンドウが新しく表示されますが、その際に IE のコンポーネント内で動作制限が生じ、POST から GET に変換されます。

 

回避策
POST 送信を維持する方法はありません。
HTML 上で method="get" を指定し、はじめから GET 送信とすることで、パラメーターを維持することは可能です。

 

________________________________________

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。


Skip to main content