ユーザマニュアル




2024/12/13

MANUAL

開発者向け機能:サーバスクリプト:httpClient

## 概要 [サーバスクリプト](/ja/manual/table-management-server-script)で外部のサービスと接続するためのHTTPクライアントを利用する際に使用します。 ## プロパティ |No|Name|Get|Set|Type|Description| |:----|:----|:----|:----|:----|:----| |1|RequestUri|○|○|string|接続先のURI| |2|Content|○|○|string|送信するデータ| |3|Encoding|○|○|string|エンコーディング(既定値は "utf-8")| |4|MediaType|○|○|string|メディアの種類(既定値は "application/json")| |5|RequestHeaders|○||Dictionary<string,string>|リクエストヘッダ。詳細は下記参照。| |6|ResponseHeaders|○||Dictionary<string,IList<string>>|レスポンスヘッダ。詳細は下記参照。| |7|IsSuccess|○||bool|直前に発行したリクエストが成功したか否かを取得。StatusCodeが200~299の範囲にある場合にTrueを返します| |8|StatusCode|○||int|直前に発行したリクエストに対する応答メッセージのステータスコード| ### RequestHeadersプロパティの使用例 下記の様に、RequestHeadersプロパティの Add メソッドを使用することで、任意のリクエストヘッダを追加できます。 ```javascript httpClient.RequestHeaders.Add({ヘッダ名}, {値}); ``` #### AuthorizationヘッダでBasic認証を行う場合 ```javascript let base64 = utilities.ConvertToBase64String('userName:password'); httpClient.RequestHeaders.Add("Authorization", "Basic " + base64); httpClient.RequestUri= "https://servername/api/....."; let result = httpClient.Get(); ``` ※文字列をBase64に変換するには、[utilities.ConvertToBase64String](/ja/manual/server-script-utilities-convert-to-base64-string)メソッドが利用可能です。 また、続けて別のヘッダを設定して送信する場合は、Clearメソッドでヘッダの内容をリセットしてください。 ```javascript httpClient.RequestHeaders.Clear(); httpClient.RequestHeaders.Add("Authorization", "Bearer " + "X2kKRHGI495Y......."); ``` ### ResponseHeadersプロパティの使用例 下記のように外部APIにアクセスした際、ResponseHeadersプロパティの Item.get メソッドを使用することで、任意のレスポンスヘッダのプロパティ値を取得することができます。 ``` javascript httpClient.ResponseHeaders.Item.get({レスポンスヘッダのプロパティ名}) ``` #### Access-Control-Allow-Originプロパティの値をレスポンスヘッダから取得したい場合 ``` javascript // 外部APIに接続 httpClient.RequestUri="https://savername/api/......"; let response = httpClient.Get(); // レスポンスヘッダを取得 var value = httpClient.ResponseHeaders.Item.get("Access-Control-Allow-Origin"); context.Log(value[0]); ``` また、続けて送信しレスポンスヘッダのプロパティ値を取得する場合は、Clearメソッドであらかじめヘッダの内容をリセットしてください。 ```javascript httpClient.RequestUri="https://savername/api/....../123/..."; let response = httpClient.Get(); var value = httpClient.ResponseHeaders.Item.get("Access-Control-Allow-Origin"); context.Log(value[0]); // 続けて送信する前にResponseHeadersをクリア httpClient.ResponseHeaders.Clear(); httpClient.RequestUri="https://savername/api/....../456/..."; response = httpClient.Get(); ``` ## メソッド |No|Name|Description| |:----|:----|:----| |1|[Get](/manual/server-script-http-client-get)|GETメソッドを発行し結果を受け取ります。| |2|[Post](/manual/server-script-http-client-post)|POSTメソッドを発行し結果を受け取ります。| |3|[Put](/manual/server-script-http-client-put)|PUTメソッドを発行し結果を受け取ります。| |4|[Delete](/manual/server-script-http-client-delete)|DELETEメソッドを発行し結果を受け取ります。| |5|[Patch](/manual/server-script-http-client-patch)|PATCHメソッドを発行し結果を受け取ります。| ## 対応バージョン |対応バージョン|内容| |:--|:--| |1.2.16.0以降|HttpClientを追加| |1.3.9.0以降|RequestHeadersを追加| |1.3.50.0以降|HttpClientのPatchメソッドを追加| |1.4.8.0以降|ResponseHeadersを追加| ## 関連情報 <div id="ManualList"><ul><li><a href="/ja/manual/table-management-server-script">テーブルの管理:サーバスクリプト</a><span>2024/10/08 up</span></li></ul></article> <ul><li><a href="/ja/manual/server-script">開発者向け機能:サーバスクリプト</a><span>2023/06/01 up</span></li> <li><a href="/ja/manual/server-script-utilities-convert-to-base64-string">開発者向け機能:サーバスクリプト:utilities.ConvertToBase64String</a><span>2023/06/21 up</span></li> <li><a href="/ja/manual/server-script-http-client-get">開発者向け機能:サーバスクリプト:httpClient.Get</a><span>2023/08/21 up</span></li> <li><a href="/ja/manual/server-script-http-client-post">開発者向け機能:サーバスクリプト:httpClient.Post</a><span>2023/08/21 up</span></li> <li><a href="/ja/manual/server-script-http-client-patch">開発者向け機能:サーバスクリプト:httpClient.Patch</a><span>2023/12/13 up</span></li> <li><a href="/ja/manual/server-script-http-client-put">開発者向け機能:サーバスクリプト:httpClient.Put</a><span>2023/08/21 up</span></li> <li><a href="/ja/manual/server-script-http-client-delete">開発者向け機能:サーバスクリプト:httpClient.Delete</a><span>2023/08/21 up</span></li></ul></article> <ul><li><a href="/ja/manual/faq-server-script-log">FAQ:サーバスクリプトのエラーログを出力したい</a><span>2024/04/29 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.