API
HTTP POST
概要
このブロックは、指定されたURL(HTTPサーバー)へ、HTTPのPOSTメソッドを使って要求(リクエスト)を送り、応答(レスポンス)としてリソース(データ)を取得します。
リクエストには、任意のクエリーパラメーター・パラメーター・リクエストヘッダーを含められます。
レスポンスは、変数に格納できます。
本ブロックを使うことで、HTTP POSTメソッドのWeb APIとの連携が可能です。
レスポンスの"HTTP Status"が400番台、500番台の時は、ブロックの実行が失敗します。
パラメーターは、"Content-Type = application/x-www-form-urlencoded"でリクエストボディにURLエンコードされた文字列として渡されます。
HTTP POST(JSON)」ブロックが利用できます。
Content-Type: application/jsonでPOSTしたい場合は、「プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 | ブロックの名前を指定します。ブロックに表示されます。 |
URL | リクエストするURLを指定します。 |
クエリーパラメーター |
クエリーパラメーターを指定します。キーとバリューの組み合わせで指定します。 |
パラメーター |
パラメーターを指定します。キーとバリューの組み合わせで指定します。 |
ブロックメモ | ブロックに対するコメントを指定します。 |
エラー時の繰り返し回数 | リクエストエラー時の繰り返し回数を指定します。 |
繰り返し間隔 | リクエストエラー時の繰り返し間隔を秒単位で指定します。 |
レスポンスを格納する変数 |
HTTPサーバーが返すレスポンスを格納する変数を指定します。 変数に格納する値は、レスポンスのメッセージ・ボティのみです。レスポンスの「Content-Type」ヘッダーが「application/json」の場合は、メッセージ・ボディをデコードした結果を変数に格納します。 詳細については、「出力仕様>HTTP GET/HTTP POST/HTTP PUT」を参照してください。 |
リクエストヘッダー |
リクエストヘッダーを指定します。キーとバリューの組み合わせで指定します。 「Bearerトークン認証」や「Basci認証」などのように、Web APIによっては追加のリクエストヘッダーが必要な場合があります。このプロパティは、そのような場合に使用します。 以下は、「Bearerトークン認証」を指定した例です。 |
使用例
ここでは、JSONPlaceholderを使用して、「HTTP PUT」ブロックの使い方を紹介します
JSONPlaceholderは、ウェブ開発者がデータをモックアップするためのWebサービスで、JSON形式でデータを返します。RESTfulなAPIとして機能し、HTTPリクエスト(POST、GET、PUT、DELETEなど)を受け付けます。
JSONPlaceholderを使用したHTTP POSTの例について簡単に説明します。以下は、新しくブログなどの記事を投稿するAPIの仕様です。
- URL:https://jsonplaceholder.typicode.com/posts
- パラメーター:
パラメーター名 説明 userId 投稿のユーザーID
title 投稿のタイトル
body 投稿の本文
これを「HTTP POST」ブロックで実現すると以下のようになります。
設定するプロパティと指定値は以下のとおりです。
プロパティ | 指定値 | ||||||||
---|---|---|---|---|---|---|---|---|---|
URL |
|
||||||||
クエリーパラメーター |
|
||||||||
レスポンスを格納する変数 |
|
このブロックを実行すると、以下のようなレスポンスが返ってきます。
{ "userId": "1", "title": "example", "body": "This is an example API.", "id": 101 }
名前 | 内容 |
---|---|
userId |
投稿のユーザーID |
title |
投稿のタイトル |
body |
投稿の本文 |
id |
投稿のID |
このレスポンスは、「HTTP POST」ブロックの「レスポンスを格納する変数」プロパティで設定したresponseという名前の変数に格納されます。
この使用例では、変数に格納されたレスポンスをデータ投稿の履歴としてBigQueryテーブルに格納することにします。
変数に格納されたデータをBigQueryテーブルに格納するには、BigQueryカテゴリーの「変数からテーブルへロード」ブロックを使用します。使用例は、以下のとおりです。
設定するプロパティと指定値は以下のとおりです。
プロパティ | 指定値 |
---|---|
投入データの変数 |
|
投入先のデータセット |
レスポンスデータ格納用のBigQueryデータセット |
投入先のテーブル |
レスポンスデータ格納用のBigQueryテーブル |
スキーマ設定 |
上図のように指定 |
この2つのブロックを組み合わせてフローの完成です。