クラベル節約、こだわり、使い道。「決め手」がわかる比較サイト。Desktopで「できること」と「できないこと」とぜひ知ってほしいこと。現場で悩む、すべての方へ。Desktopをつかった自動化フローの作成サンプルです。10環境でのソフトウェア操作やWebサイトへのアクセス、データの送受信などを自動化して、作業量を削減したり、手動では難しい大量のデータ処理や通信処理などを行わせたりできます。今回は、Webサイトからのデータ取得操作の例として、楽天ウェブサービスより提供される楽天市場商品検索APIを使って商品のキーワード検索と最安値価格ベスト5をメッセージで表示するフローを作成してみます。Developersへの登録とアプリIDの発行が必要です。※今回はアプリIDが取得されている前提での手順を解説しています。Developersへの登録とアプリIDの発行についても後日補足します。Desktopは無料で提供されています。ダウンロードやセットアップ、基本的な解説については以下のリンクをご覧ください。Desktop」の配布が開始されています。Desktopは、プログラム言語などのコーディングを必要とせず自動化フローの開発が行えるツールですが、作ったフローの再利用(コピー)や共有のためにテキスト形式のコードも利用できるようになっています。テキスト形式のコードはコピー&ペーストの際に取り出すことができるのみで、フロー編集画面上での直接のコーディングなどはできないようです。Desktopで利用するには以下の手順を実施します。Desktopのフロー編集画面を開きます。フロー編集画面にコピーしたアクションが登録されます。手順は以上で完了です。サンプルコードサンプルコードは以下の通りです。上記の「コードを貼り付ける」手順を参考にフローへ登録してください。$'''キーワードを入力してください。今回のサンプルフローを作ってみてのポイントや気づいたことなどの解説です。楽天ウェブサービスのアプリID(整数値)を変数に登録はじめに、このフローでは楽天APIを使うためのアプリIDが必要です。ボックスに入力されている「"アプリID"」の内容を、お持ちのアプリIDに書き換えてください。アプリIDはダブルクォーテーション(”)で囲んで入力してください。Desktopではこのような整数の文字列を変数に格納すると、文字列ではなく数値として判断されてしまうようです。その数値が16桁(15桁?)を超えている場合、その桁数以上の数値はゼロ(0)に置き換えられてしまうという仕様(※)があるため、上記のようなケースでは変数が文字列であることを明示する必要があるようです。そのため、このアクションでは変数の値をクォーテーションで囲って指定しています。754の浮動小数点数に基づく仕様のようです)JavaScriptをつかってテキストをURIエンコードする楽天APIに限らず、Webサイトを自動操縦するような場合、テキストのURIエンコードが必要になるケースが多いのではないかと思いますが、組み込みのアクションにはテキストのURIエンコードのみを行えるアクションは見つけられませんでした。そのため、今回はJavaScriptを使って変数のURIエンコードを行ってみています。Desktopでは、VBScriptやJavaScript、Python、PowerShellなどを使って一部の処理を行わせた結果を変数に格納することが可能です。これらは出力内容が変数に格納されるとのことなのですが、具体的な出力方法はConsoleやDocumentオブジェクトではなく、WScriptを使うようです。下記のようにencodeURIComponent()の結果をWScript.echo()で取得することができました。Desktopでは複数の方法が用意されています。起動する」+「Webページ上の詳細を取得します」のアクションを使っています。Chromeを起動し、指定したURLにアクセスして得られたページやデータの内容をそのまま取得することが可能なので、今回はAPIのリクエストページにChromeでアクセスし、返ってきたページの内容(JSON形式)をリストに格納する処理を行っています。「Webサービスを呼び出します」アクションの利用について「Webサービスを呼び出します」を使うと、Chromeなどのブラウザウィンドウを開くことなく直接httpリクエストをWebサイトに送信し、データを取得することも可能です。こちらを使えば、指定したアドレスのページ内容を取得できるだけでなく、httpヘッダーを自由に変更してデータの投稿(POST)を行ったり、ユーザーエージェントを変更(偽装)して、本来の内容とは異なる情報を取得するなど自由度の高いWebデータの取得ができるようです。今回のようなAPIのレスポンスもこのアクションを使って取得可能なほか、このアクション内ではURIエンコードなども自動的にできるようなのですが、検索キーワードによって文字列のUTF-8エンコードがうまくできないケースがあったため、今回はChromeを使った例としました。API(PAAPI)での情報取得について今回の例は楽天市場で行っていますが、Amazonでも同じような商品リサーチなどを自動化させることも可能です。5)ではWebサイトから情報を取得するためのアクセスの際に署名認証が必要になるため、アクションの設定がちょっと面倒です。Desktopではリストを使って繰り返し処理などを行うことができるようです。現状あまりスマートな構成がわかってないのですが、とりあえずExcelのワークシートのような2次元のリスト(配列)は「項目をリストに追加」アクションを使って列と行を追加していくことで実現しています。使って行うことができます。指定されていますが、角カッコはこの%の内側に書きます。ノードの内容をリスト化し、リストの各要素の内容を取り出しています。ように複数のノードを記述すればOKです。DesktopであればWebサイトに直接アクセスし、検索操作などを自動的に行わせてデータを取得するようなこともできると思います。Desktopでの自動化フローの答えはひとつだけでなくいろいろな方法で活用できるのが良いですね。今回の例も基本的な情報取得は行っているものの、取得したデータが使える状態にはなっていないため、これにデータの加工やファイルへの出力などを加えてより実用的なアクションを追加していく必要があると思います。Desktopでは自由に行うこともできますので、いろいろカスタマイズしてお仕事の効率化や自動化に活用してみてください。コピークラベル(Cravel)をフォローする広告この記事を書いた人クラベル(Cravel)Webサイト構築、Wordpressのカスタマイズやphpプログラミングなどやってます。BPM(ビジネスプロセス管理)、BPR(業務改革)コンサルなどにも従事。世の中すべてピタゴラ装置をモットーに自動化します。ブログは省エネ運営中。Cocoonカスタマイズやゲーム、ガジェットの話題など。Desktop(PAD)でサブフローに引数を指定する方法について確認してみました。Desktop:ループ(繰り返し処理)の使い方。Desktopで使われる専門用語などを解説した用語集です。Desktopで「できること」と「できないこと」とぜひ知ってほしいこと。現場で悩む、すべての方へ。Desktop(PAD)が提供する機能の単なる一覧ではなく、仕事を自動化するということはどういうことなのか、初めてPADの名前を聞いた方やこれから利用してみようと思う方の視点で、どのような取り組みができるのかを解説しています。現場で悩む、すべての方へ。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。広告クラベル(Cravel)Webサイト構築、Wordpressのカスタマイズやphpプログラミングなどやってます。BPM(ビジネスプロセス管理)、BPR(業務改革)コンサルなどにも従事。世の中すべてピタゴラ装置をモットーに自動化します。ブログは省エネ運営中。Cocoonカスタマイズやゲーム、ガジェットの話題など。Coffee当サイトは皆さまのご支援で成り立っています。当サイトの情報が少しでもお役に立てたらお気持ちだけでもご支援いただけると励みになります。Desktop:文字列型変数の使い方。Desktop:条件(〇〇の場合)アクションの使い方。Desktop:文字列型変数の使い方。Desktop:条件(〇〇の場合)アクションの使い方。Desktop:ループ(繰り返し処理)の使い方。Reserved.メニュークラベル検索タイトルとURLをコピーしました。