REST API連携(POST)

HOME技術コラムREST API連携(POST)

RESTAPIを用いた連携の例を作成し、実装する過程の紹介(POST)

1. 処理仕様説明

DataSpiderでは、RESTのPOST実行をRESTアダプタの「POST実行処理」アイコンを使用することが実現できます。これにより、パラメータやデータをサーバへ送信、またサーバ上のリソースの新規作成や、更新をノーコードで実現することができます。
今回はクラウドストレージサービス「Box」に対し、「POST実行処理」アイコンを用いて、DataSpiderからBoxへファイルをアップロードする方法を説明します。

処理フローと処理内容は以下の通りです。

接続
  • OAuth認証を設定し、BoxAPIへのアクセスを許可
  • BoxAPIへREST接続
設定
  • RESTアダプタの「POST実行処理」アイコンで、アップロードCSVファイル「/data/work/test/在庫データ.csv」を、Boxの「情報」フォルダへアップロード設定
アップロード
  • スクリプトを実行し、Boxフォルダにファイルがアップロードされたかどうかを確認

2. 前提


  • アップロードCSVファイルがDataSpiderファイルシステム上に配置されていること
  • Box内にアップロード先フォルダが存在すること

今回連携するCSVファイル「/data/work/test/在庫データ.csv」の内容は以下の通りです。

また、今回アップロード先として設定しているBoxフォルダは以下の通りです。


3. プロジェクトとスクリプトの作成


[プロジェクト名]:任意のプロジェクト名
[スクリプト名]:任意のスクリプト名


4. OAuth認証の設定

OAuth認証を設定し、データアップロード先であるBoxへのアクセス権限の許可を行います。

【4-1】
Studioの左下にある、「コントロールパネル」アイコンをダブルクリックし、「グローバルリソースの設定」を選択します。
【4-2】
メニューの[ファイル] - [新規グローバルリソース作成]を選択します。

【4-3】
リソースの種類の選択画面から、[認証]-[OAuth2.0]-[OAUTH2.0]を選択し、[次へ]ボタンを押下します。

【4-4】
接続設定の画面が表示されるので、[必須設定]タブの内容を設定します。

◎必須設定
[接続名]:接続先の設定名
[クライアントID]:接続先のクライアントID
[クライアントシークレット]:接続先のクライアントシークレット
[リダイレクトURI]:接続先のリダイレクトURI
[認可エンドポイント]:接続先の認可エンドポイント
[トークエンドポイント]:接続先のトークンエンドポイント
[クライアント認証方式]:トークンリクエストでのクライアント認証方式を選択

【4-5】
次に、[リフレッシュトークン]の発行と[アクセストークン有効期間]を取得します。
[トークンを発行する]を押下し、「認可コードの設定」ダイアログを起動させます。

【4-6】
「認可コードの設定」ダイアログが起動したら、[認可コード取得]を押下します。
押下すると、Boxへのアクセス許可設定ページが開きます。

【4-7】
Boxへのアクセス許可設定ページが開いたら、[Boxへのアクセスを許可]を押下します。
認証コードページが表示されるので、認可コードをコピーし、ページを閉じます。


【4-8】
コピーした認証コードを、「認可コードの設定」ダイアログの[認可コード]に貼り付けます。
貼り付けたら、[OK]を押下します。

「トークンを取得しました。」のダイアログが表示されたら取得成功です。

【4-9】
接続設定の画面で、[リフレッシュトークン]と[アクセストークン有効期間]が設定されていることを確認します。
以上で、OAuth認証設定が完了しました。


5. BoxAPIへREST接続

グローバルリソースにて、BoxAPIへREST接続をします。

【5-1】
リソースの種類の選択画面から、[ネットワーク]-[REST]-[REST]を選択し、[次へ]ボタンを押下します。


【5-2】
接続設定の画面が表示されるので、POST用のBoxAPIのURLを設定します。

[名前]:接続先の設定名
[URL]:アクセスしたいBoxAPIのURL


【5-3】
[接続テスト]を押下して、接続に成功することを確認します。
「接続に成功しました。」のダイアログが表示されたら[OK]を押下します。

以上で、REST接続の設定が完了しました。


6. POST実行アイコンの設定

BoxへCSVファイルをアップロードするために、「POST実行」の設定を行います。
※BOXAPIに関しての詳細は下記をご参照ください。
ファイルをアップロード - APIリファレンス - Box Developerドキュメント

【6-1】
ツールパレットから[ネットワーク] - [REST] - [POST実行]をスクリプトキャンバスにドラッグ&ドロップします。


【6-2】
「POST実行処理」プロパティ設定ダイアログで、以下の通り設定を行います。

◎必須設定
[名前] : コンポーネント名
[接続先] : グローバルリソースで設定済みの接続先
[パス] : [接続先]の[URL]に入力したURLからの相対パス
[エンコード] : URLエンコーディングに使用するエンコード

◎リクエスト設定
[データ入力元]:リクエストボディの入力元を選択
[データ形式]:リクエストボディのデータ形式を選択
[マルチパートフォーム設定]:リクエストボディとなるマルチパートを設定

◎レスポンス設定
[データ出力先]:レスポンスボディの出力先を選択
[ファイルパス]:レスポンスボディを出力するファイルのパスを選択または入力

◎認証設定
[認証]:リクエスト送信時の認証方式を選択
[グローバルリソース]:認証に使用するグローバルリソースを選択

【6-3】
[完了]を押下すると、プロパティ設定ダイアログが閉じ、「RESTAPI POST実行処理」アイコンがキャンパスに配置されます。


7. Mapperの追加

アップロードCSVファイルの設定を、マッピング内で行います。

【7-1】
ツールパレットから[変換] - [基本] - [マッピング]をスクリプトキャンバスにドラッグ&ドロップします。


【7-2】
「mapping」アイコンと「RESTAPI POST実行処理」アイコンの間に、プロセスフローとデータフローを引きます。


【7-3】
配置された「mapping」アイコンをダブルクリックし、Mapperエディタを開きます。
出力先には、「RESTAPI POST実行処理」アイコンの設定から、スキーマが読み込まれています。
(「RESTAPI POST実行処理」アイコンのリクエスト設定で、データ形式を「マルチパートフォーム」で設定したため、マルチパート形式のスキーマが表示されます。)

【7-4】
スキーマへ値を設定していきます。
今回設定するのは、【6-2】で設定した「attributes」と「file」です。
まず「attributes」です。「attributes」には、アップロードに関する設定値を入力します。

Mapperエディタのツールパレットから[文字列]-[基本]-[単一行文字列定数]をマッピングキャンバスにドラッグ&ドロップします。

配置された「単一行文字列定数」ロジックアイコンをダブルクリックし、「単一行文字列定数ロジック」プロパティ設定ダイアログで、以下の通り設定を行います。

◎必須設定
[一行文字列]:アップロードの設定値
“name”:Boxアップロード後のファイル名
“parent”:ファイルアップロード先の親フォルダID

[完了]を押下し、「value」へリンクを引きます。

【7-5】
次に「file」です。「file」には、アップロードファイルの絶対パスを入力します。
Mapper エディタのツールパレットから[文字列]-[基本]-[単一行文字列定数]をマッピングキャンバスにドラッグ&ドロップし、以下の通り設定を行います。

◎必須設定
[一行文字列]:アップロードファイルのファイルパス

[完了]を押下し、「path」へリンクを引きます。

以上で、マッピング内でのスキーマ値の設定は完了です。


8. スクリプトの完成・実行

【8-1】
処理の順番にプロセスフローを引きます。
(「Start」→「mapping」→「RESTAPI POST実行処理」→「End」の順)

【8-2】
[デバッグ実行の開始/再開]を押下して処理を実行します。


【8-3】
まず、「RESTAPI POST実行」アイコンのレスポンス設定にて指定したファイルに、レスポンスデータが格納されていることを確認します。

【8-4】
次に、指定したBox内のフォルダに、指定した名前でファイルがアップロードされているかを確認します。


正常にファイルがアップロードされていることを確認できました。

以上が、クラウドストレージサービス「Box」に対して「POST実行処理」をリクエストし、DataSpiderからBoxへファイルをアップロードする手順の説明になります。


お問い合わせ

  • 資料のご請求
  • 製品Q&A
  • 詳細説明希望
  • 製品デモ希望
  • 製品価格
  • その他

何でもお気軽にご質問ください

top