Web API を利用する (HTTP POST)
最終更新日: 2023年4月14日
WebAPI に関する4つのブロックを説明します。
接続先のURLにポストデータを送信します。リクエストヘッダを付与することもできます。呼び出し先のWebAPIが文字列を返す場合、それを受け取ることができます。
「WebAPI呼び出しブロック」が受け取った文字列がJSON形式の場合、これを解析するためのブロックです。パス部分には JSONPath 形式を指定します。
JSONプロパティブロックから、JSON形式文字列を作成します。
キーと値のペアとなる、JSONプロパティを表現するブロックです。
ここでは架空の WebAPI サービス www.example.com を対象とした、ブロックの利用方法を説明します。
最初に、認証用API "https://www.example.com/api/v1/auth" にアクセスし、アクセストークンを取得するというブロックを用意してみます。この WebAPI は利用時に "company_id", "login_id", "password", "alignment_id" という 4 つの値をJSON形式で送信する仕様である、とします。また、返戻された文字列は JSON 形式とします。この文字列を変数
この WebAPI が返戻した JSON 形式文字列内に "status" と "message" が格納されている、とします。"status" の値が 0 の場合は正常終了で、それ以外の値は異常終了、かつ、そのときには "message" にエラーの原因が格納されているとします。
"status" が 0 でなければ業務例外を発生させ、このスクリプトを終了させる例は次のとおりです。
この WebAPI は、正常終了すると返戻した JSON 形式文字列内に "token" を含む、とします。この値を変数
念のため、デバッグウィンドウに取得したトークンの値を出力させてみましょう。
ここまでのブロックをまとめると、次のようになります。
前節で取得したアクセストークンを使って、別の WebAPI を呼び出す例を示します。今回、想定する架空の WebAPI サービスは、呼び出し時にポストデータとしてアクセストークンをJSON文字列形式で含めておく、という仕様とします。
取得した結果が、JSON文字列形式になっている場合、次のようにして返戻値の内容をメッセージに含めることができます。JSON文字列からの値の取得には「JSON文字列解析ブロック」が利用できます。
このモデルに含まれるファイル型項目の内容(つまりファイルそのもの)を WebAPI のポストデータとして送信する例を示します。この場合、BASE64エンコードブロックを使うと便利です。
ここでは "document_binary" というキーで、BASE64エンコードされたファイルを送信する例を示します。
WebAPIブロック
WebAPI呼び出しブロック
JSON文字列解析ブロック
JSON作成ブロック
JSONプロパティブロック
例 認証後にアクセストークンを取得する
result
で受けるものとします。
アクセストークンを取得する
token
に保持させるブロックは次のとおりです。
例 アクセストークンを利用した WebAPI 呼び出し
例 アクセストークンを利用した WebAPI 呼び出し (2) ファイルを含める