このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
ThingHTTP アプリ
ThingHTTP を使用すると、デバイス レベルでプロトコルを実装することなく、デバイス、Web サイトおよび Web サービスの間で通信することが可能になります。ThingHTTPでアクションを指定し、TweetControl、 TimeControl 、React などの他のThingSpeak™アプリを使用してトリガーします。
ThingHTTP 要求の作成
新しい ThingHTTP 要求を作成します。[Apps 、 ThingHTTP]をクリックし、次に[New ThingHTTP]をクリックします。
設定を指定します。要求のタイプごとに、すべての設定が必要というわけではありません。次のパラメーターはすべての ThingHTTP 要求に必要です。
必須パラメーター 説明 Name ThingHTTP 要求に一意の名前を入力します。 API Key ThingHTTP 要求用に自動生成された API キー。 URL データのリクエスト元の Web サイトまたは Web サービスのアドレスを、 https://
で始まるように入力します。(http://
はサポートされていますが、使用しないことを強くお勧めします。)Method URL にアクセスするために必要な次のいずれかの HTTP メソッドを選択します。GET、POST、PUT、または DELETE。
HTTP Version サーバーによる指定がない場合は、1.1 を指定します。 行っている要求の特性に応じて、追加のパラメーターを指定できます。たとえば、認証を必要とするサーバーへの ThingHTTP 要求には、ユーザー名とパスワードが必要です。
オプション パラメーター 説明 HTTP Auth Username URL で認証が必要とされる場合は、プライベートのチャネルまたは Web サイトにアクセスするための認証用ユーザー名を入力します。 HTTP Auth Password URL で認証が必要とされる場合は、プライベートのチャネルまたは Web サイトにアクセスするための認証用パスワードを入力します。 Content Type 要求内容の MIME タイプまたはフォーム タイプを入力します。たとえば、 application/x-www-form-urlencoded
などです。Host ThingHTTP 要求でホスト アドレスが必要な場合は、ドメイン名を入力します。たとえば、 api.thingspeak.com
などです。Headers ThingHTTP 要求でカスタム ヘッダーが必要な場合は、ヘッダーの名前と値を入力します。たとえば、 Range: bytes=500-999
を使用してバイト範囲を指定します。Body 要求に含めるメッセージを入力します。
置き換えキーを使用して、ThingHTTP アプリに送信するデータを body セクションに含めることもできます。例については、 ThingHTTP トリガーによるデータの受け渡しを参照してください。
Parse String 応答データ内で検索するラベルを入力します。一意の ID または XPATH を使用して、HTML から特定のデータを解析できます。返されるデータが JSON オブジェクトの場合、JSON のドット表記を使用して特定値に対する応答データを解析できます。詳細については、「文字列の解析」を参照してください。
要求を保存します。ThingHTTPは、 AppsをクリックしてThingHTTPを選択すると、将来使用できるようになります。
ThingHTTP のトリガー
ThingHTTP を、GET または POST HTTP 要求、TweetControl、TimeControl、あるいは React を使用してトリガーします。データを含める場合やカスタムの置き換えキーを使用する場合には、POST 要求を使用します。POST、TimeControl、または React によってトリガーされた要求では、ThingHTTP に特定の変数を渡すことができます。詳細については、 「ThingHTTP トリガーによるデータの受け渡し」を参照してください。たとえば、TimeControl を使用して ThingHTTP をトリガーする場合、トリガーされた時間を渡すことができます。次の表に、HTTP 要求を使用して ThingHTTP をトリガーする場合の入力パラメーターと出力パラメーター、およびサンプルの呼び出しを示します。
メモ
ThingHTTP を1 秒間に複数回トリガーすると、HTTP 429 ステータス コードが発生します。ステータス コードは、レートが 1 秒あたり 1要求未満になるまで続きます。
HTTP 要求による ThingHTTP のトリガー
タイトル | ThingHTTP をトリガーする HTTP POST 要求 |
---|---|
《URL》 | https://api.thingspeak.com/apps/thinghttp/send_request |
《HTTPメソッド》 | POST |
«HTTPヘッダー» | Content-Type: application/x-www-form-urlencodedX-THINGSPEAKAPIKEY = XXXXXXXXXXXXXXX |
«データパラメーター» | api_key=XXXXXXXXXXXXXXX |
≪成功時の応答≫ | 200 OK and HTTP, JSON, or text, depending on the ThingHTTP |
「エラー応答」 | 400 Invalid API key0 Minimum wait time not reached-1 Request failed |
«HTTP 呼び出しのサンプル» | POST /apps/thingtweet/1/statuses/update HTTP/1.1 Host: api.thingspeak.com Content-Type: application/x-www-form-urlencoded Cache-Control: no-cacheapi_key=XXXXXXXXXXXXXXX |
"ノート" | ThingHTTP API キーは、HTTP の header セクションと body セクションのどちらかになければなりませんが、両方に追加することはできます。ThingHTTPにデータを渡さない場合は、 GET要求を使用してThingHTTPをトリガーできます。GET https://api.thingspeak.com/apps/thinghttp/send_request?api_key=XXXXXXXXXXXXXXX 。 |
ThingHTTP が、HTTP 要求の結果を返します。
ThingHTTP トリガーによるデータの受け渡し
置き換えキーを使用して、データを ThingHTTP に送信できます。キーは 2 つのパーセント記号で囲みます。置き換えキーは、ThingHTTP の任意の使用可能なセクションに含めることができます。たとえば、タグを ThingHTTP の body に含め、ThingHTTP 要求をトリガーする POST を使用してデータを渡すことができます。この例では、 ThingHTTP要求を使用してThingSpeak チャネルにメッセージを投稿する方法を示します。ThingHTTP を作成し、カスタムの置き換えキー %%message%% を body で使用します。
ThingHTTPをトリガーするメッセージを POST に含めると、HTTP POST はThingHTTPをトリガーし、 %%message%% を '1234' に置き換えて、 ThingSpeakのチャネルを更新します。ThingHTTP の body パラメーターは、HTTP トリガー要求の body パラメーターとは異なります。次の表に HTTP トリガーの要求パラメーターを示します。
タイトル | ThingHTTP をトリガーする HTTP POST 要求 |
---|---|
《URL》 | https://api.thingspeak.com/apps/thinghttp/send_request |
《HTTPメソッド》 | POST |
«HTTPヘッダー» | Content-Type: application/x-www-form-urlencodedX-THINGSPEAKAPIKEY=XXXXXXXXXXXXXXX |
«データパラメーター» | api_key=XXXXXXXXXXXXXXXmessage=1234 |
≪成功時の応答≫ | 200 OK と、 ThingHTTPに応じて HTTP、JSON、またはテキスト |
「エラー応答」 | 400 Invalid API key0 Minimum wait time not reached-1 Request failed |
«HTTP 呼び出しのサンプル» | POST /apps/thingtweet/1/statuses/update HTTP/1.1 Host: api.thingspeak.com Content-Type: application/x-www-form-urlencoded Cache-Control: no-cacheapi_key=XXXXXXXXXXXXXXX&message=1234 |
"ノート" | ThingHTTP API キーは、HTTP の header セクションと body セクションのどちらかになければなりませんが、両方に追加することはできます。 |
« 交換キーを使用したPOSTMAN要求»
POSTMANを使用すると、 ThingSpeakの RESTful API を使用した HTTP要求を試すことができます。以下に、POSTMAN を使用した置き換えキーによって ThingHTTP をテストする方法を説明します。
POST
を選択し、要求URL を入力します。承認セクションでBodyを選択します。
x-www-form-urlencodedを選択します。
「
api_key
」と入力し、 ThingHTTP API キーを valueセクションにコピーします。message
とメッセージ テキストをvalueセクションに入力します。
置き換えキー
置換キーを使用してデータをアプリに渡すことができます。次の表は、使用可能な標準とカスタムの置き換えキーをまとめています。一部のキーは特定タイプの要求に固有のものであり、最後の列に示されています。
キー | 説明 | 例 | 使用対象 |
---|---|---|---|
%%YOUR_CUSTOM_LABEL%% | ThingHTTP はこのカスタムの置き換え値を、"YOUR_CUSTOM_LABEL" のラベルをもつトリガー要求のデータに置き換えます。 | field1=%%YOUR_CUSTOM_LABEL%% POST データ:YOUR_CUSTOM_LABEL=1234 .結果:field1=1234 。 | 任意の要求 |
%%channel_CHANNEL_ID_field_FIELD_NUMBER%% | 指定されたチャネルおよびフィールドの最後の値。ThingHTTP 要求と同じユーザーが所有していないプライベート チャネルへの置き換え要求には、空白の値が返されます。 | The latest value is «%%channel_12_field_1%%».結果:The latest value is «2.5»。 | 任意の要求 |
%%datetime%% | TimeControl または React が実行されたときの完全な日付と時刻。 | The date and time the event occurred is «%%datetime%%».結果:The date and time the event occurred is «2014-09-24 5:32 pm»。 | TimeControl または React |
%%day%% | TimeControl が実行されたときの曜日の名前。 | The day the event occurred is «%%day%%».結果:The day the event occurred is «水曜日»。 | TimeControl |
%%day_index%% | 日曜日から始まる 0 ベースの曜日インデックス。 | The number of days used this week is «%%day_index%%».結果:The number of days used this week is «3»。 | TimeControl |
%%hour%% | TimeControl が実行された時数。 | The hour that the event occurred is «%%hour%%».結果:The hour that the event occurred is «5»。 | TimeControl |
%%minute%% | TimeControl が実行された分数。 | The minute the event occurred is «%%分%%»。結果:The minute the event occurred is «30»。 | TimeControl |
%%trigger%% | React をトリガーした値。 | It is way too hot in here at «%%トリガー%%» C .結果:It is way too hot in here at «40» C 。 | React |
%%channel_id%% | React をトリガーしたチャネルの ID。 | The channel that tweets is «%%channel_id%%».結果:The channel that tweets is «1256»。 | React |
文字列の解析
ThingHTTP は、要求によって生成された完全な HTTP 応答 (Web ページ、テキスト、または JSON オブジェクト) を送信します。応答から単一のデータ要素を抽出するには、 ThingHTTP要求で «Parse String» を指定します。ThingHTTP は、一意のタグ ID または XPATH データを使用してデータを解析できます。JSON オブジェクトを解析して、オブジェクトの要素を取得することができます。
「XPath」 | |
XML パス言語 (XPath) を使用して、Web ページ上の特定の値を指定できます。Web ページ上の項目の XPath を指定して、その特定の項目を解析します。一部のブラウザーでは、ソース ビューでデータをクリックすると XPATH 情報が提供されます。たとえば、Web ページ |
|
「JSON」 | |
JSON (JavaScript Object Notation) は、Web データの書式設定に広く使用されています。JSON オブジェクトを返すように要求した場合は、適切なドット表記を使用して目的の値を取得することができます。ThingSpeak チャネル 12397 は、ネーティックのMathWorks®の駐車場から気象情報を提供します。要求URL 以下は、 MathWorks ThingSpeak気象観測所チャネルから返された気象観測所 JSON オブジェクトのサンプルです。 { "channel": { "id": 12397, "name": "WeatherStation", "description": "MathWorks Weather Station, ...", ... "field1": "Wind Direction ... ", "field2": "Wind Speed (mph)", ... }, "feeds": [ { "created_at": "2017-03-13T14:33:21Z", "entry_id": 1272044, "field1": "21", "field2": "5.0", ... } ]} |
|