「REST Web サービス呼出(Call REST Web Service) 」ステップ

フォローする

【ステップの効果】

サーバーと呼ばれるデータのありかに「このページがほしい」と伝えて応答してもらいます。
このステップの利点は、すばやく安定してデータのやり取りが出来ます。
例えば、DSからメッセージアプリにメッセージを自動送信するときに使用します。
また、Management Consoleが利用出来るユーザ(miniは対象外)であれば、ロボットを実行出来ます。

補足
本件機能を利用される場合は、操作対象のAPI使用方法やHTTPのリクエスト作成、JSON又はXML型式での記述の知識が必要となります。ご注意下さい。

【使用方法】

  1. アクションステップを作成します。
  2. 「アクションを選択」>「Web サービス呼出」>「REST Web サービス呼出」を選択します。
    ​​

  3. 各項目を設定します。
    以下、実装例となります。
    ・GoogleAPIを利用したGoogleドライブへのファイル作成(定期的なAccessToken更新が必要)
    ・BasicやLite等、Management Consoleを利用される方の場合に利用出来るロボットの呼び出し方
  • GoogleAPIを利用したGoogleドライブへのファイル作成
    事前に行うGoogleAPIの設定方法やアクセスするための値設定については、
    以下のナレッジをご参考ください。
    GoogleアプリをAPI経由でロボット化する方法(Gmail、Googleドライブ、Googleスプレッドシートの操作)

    前提条件
    GoogleのAPIを利用するため、設定内容や使用方法は他社製品となるため、割愛とさせていただきます。また、実際のソースコードや利用方法、何が出来るかについてはも上記同様なため、サポート対象外とさせて頂きます。

    1.「URL」にGoogleのAPIを参照して、ファイルをアップロードするためのURLを設定します。
    例)https://www.googleapis.com/upload/drive/v2/files?uploadType=media
    2.「リクエスト」には、HTTPの通信方式と送信情報を指定する
    例)”POST”、”ローボディを指定”
    3.「コンテンツタイプ」には、Excel(Googleのスプレッドシート)を設定します。
    例)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet


    4.ロボットを保存します。
    「REST Web サービス呼出(Call REST Web Service) 」ステップを進めます。


    5.実際にGoogleドライブにファイルが作成されているか確認します。



  • BasicやLite等、Management Consoleを利用される方の場合に利用出来るロボットの呼び出し方
    URLの値や事前準備については、以下のナレッジをご参考ください。
    「REST Web サービス呼出(Call REST Web Service)」ステップを用いてロボット A の変数の値をロボット B に渡す方法

  1.例として、wait.robotをtest.robotから実行させます。
    MC画面のリポジトリタブ > ロボットタブから、REST(RESTful API/REST API)のURLを
    確認/取得します。

    ※BasicやLiteユーザのみとなります。
    ​
 
  2.DSにて、MCで確認した値を設定します。
    「URL」には1で確認したREST(RESTful API/REST API)のURLを設定します。
    「リクエスト」にも同様に確認した値を設定します。
    

  3.test.robotのロボットを保存します。
    「REST Web サービス呼出(Call REST Web Service) 」ステップを進めます。
    実行出来たかどうか確認します。
    例)MCにてwait.robotが実行されたことを確認
    
    


【設定項目】



※②にて「リクエスト」をPOST又はPUTを選択して「パラメータで指定」を選んだ場合、
 「
ファイル アップロード」が利用出来るようになります。
​​

①URL:Webサービスを利用するためのベースとなるURLを設定します。
    ※「値」(デフォルト)、「変数」、「エクスプレッション」、
     「コンバータ」から選択して設定します。

②リクエスト: Webサービスを利用するために必要なHTTPの通信方式を設定します。
  通信方法は、以下から選択します。

  ・GET(データの問い合わせ)
     Webサービスに情報を送信するために使用します。
     GETの送信情報は、複数のパラメータを name/value ペアとして指定できます。
     新しいパラメータを追加するには '+' をクリックします。

  ・POST(データの一部を更新)

             Webサービスに対象の情報を更新するために使用します。
     POSTの送信情報は、複数のパラメータを name/value ペアとして指定するか、
     送信情報の本文全体を指定することとができます。
     "パラメータで指定"する場合は、パラメータの「エンコード」に"Form-urlencoded"
     または
"MULTIPART"のどちらを使用するかを選択する必要があります。
             "ロー ボディを指定"(送信情報の本文全体を渡す場合)は、 送信データのコンテンツタイプ
             を指定する必要があります。


  ・PUT(データの置換)
     Webサービスに情報の置換を行うために使用します。
     設定内容は、”POST” と同意になります。

  ・DELETE(データの削除)
     Webサービスに情報を削除するために使用します。
     DELETEの送信情報は、複数のパラメータを name/value ペアとして指定できます。
     新しいパラメータを追加するには '+' をクリックします。

 ※「リクエスト」で設定できる POST と PUT にて、"MULTIPART" エンコーディングを
         選択することで、”
ファイルアップロード”を利用することができます。
    設定内容に関しては、以下をご参考下さい。

  ”ファイル アップロード”設定画面
         ※”パラメータ”設定画面は「パラメータ名」と「値」のみとなります。  

  
  ②-1 パラメータ名:送信情報を設定するパラメータ名

  ②-2 値:パラメータ名に設定する値
  ②-3 ファイル名:アップロードするファイルの名前を設定します。
  ②-4 コンテンツタイプ:アップロードするファイルのコンテンツタイプを設定します。
  ②-5 コンテンツ転送のエンコード:アップロードするファイルをエンコードするために使用する
                   エンコーディングを指定します。
      ②-1以外は全て、「値」(デフォルト)、「変数」、「エクスプレッション」、「コンバータ」
      から選択して
設定します。
   他、「値」に、バイナリ(Binary)変数を選択するとそのまま送信されてしまいます。
   上記を防ぐために、”Base 64” エンコーディングを使用したい場合は、設定する「値」で
   エクスプレッションから、base64Encode(バイナリ変数) と指定する必要があります。
      
③承認:Webサービスからの返信情報を受け入れるコンテンツの型を指定します。
    デフォルトでは、あらゆるコンテンツの型を受け入れる設定となっています。
    ※「値」(デフォルト)、「変数」、「エクスプレッション」、「コンバータ」から
                    選択して指定します。

④エンコード:送信情報内の特殊文字をエンコードするために使用するエンコーディングを
                          指定します。

⑤出力値:Webサービスから返信された情報の出力方法を指定します。
  返信情報の出力方法は、以下から選択します。
  ※デフォルトは”変数”となります。
   ・ブラウザにロード
      返信情報を「ページ読込(Load Page)」ステップの結果のように現在のウィンドウに
                 読み込まれます。

      ⑥やオプションの設定を使用して、ブラウザの挙動を設定することができます。

   ・変数に抽出
      選択されている変数やタイプファイルに返信情報が設定されます。

⑥オプション:通信周りやjavascript、認証や送信するHTTP情報の編集等の詳細な設定を行う際に
                         利用します。

           ※「設定」ボタン先にあるオプション設定が優先されます。      

【注意点】

【関連情報】

 

※この記事は2020年12月03日にver10.4.0.2で作成したものです。
※本記事は初心者の方に分かりやすくご説明することを目的としております。
 そのため、意図的に厳密な表現を避けている場合がございますのでご了承ください。