TECH BLOG

MENU

オンプレクラウド

MotionBoard

MotionBoard

MotionBoardにはいくつかWeb APIが用意されています。Web APIを使うことで大量のユーザーを一括で登録したり、都度手動で挙げているExcelやCSVを自動でアップロードできます。Web APIってなに!?となった方、安心してください。今回は簡単な方法でWeb APIを試す方法を紹介します!

 

Web APIって?

APIとはApplication Programming Interfaceの略で、各企業が持っている基幹システムやその他様々なサービスとデータをやり取りする仕組みです。API自体はJavaやPythonなどのプログラム上で利用できる形式で提供されることが多く、自由度が高くサービスの開発効率を大幅に増加させますが知識がないと扱いづらいです。

その中でもWeb APIは、HTTPおよびHTTPSというルールでやり取りできる仕組みです。ブラウザでURLを打つような感覚で利用でき、より多くのユーザーが扱えるようになっています。また、MotionBoardでは様々なWeb APIが提供されています。

Web APIの利用にあたって、大まかに分けて必要な情報が4つあります。

MotionBoardのWeb APIを例に、一つずつ紹介していきます。

 

サーバーURL

サーバーURLは「どのMotionBoardへアクセスするか?」を決める情報になります。そのため、サーバーURLはMotionBoardの環境(オンプレ・クラウド)に合わせて指定しましょう。MotionBoard CloudはいつもログインするURL(https://cloud.motionboard.jp/)とは別なので注意しましょう。

・オンプレ

http://[IP or ホスト名]:[ポート番号]/motionboard/

・MotionBoard Cloud

https://cloud-up.motionboard.jp/motionboard/

・MotionBoard Cloud for Salesforce

https://sfdc-up.variocloud.jp/motionboard/

リアルタイム連携する場合はまた別のサーバーURLになりますので下記のマニュアルをご覧ください。

Web APIの利用方法(リクエストURL)

 

リソースURI

リソースURIは利用するWeb APIによって異なりますので、利用する際はそれぞれのマニュアルページをご覧くださいね。例えば「ユーザーを登録する」場合は下記がリソースURIになります。

rest/directory/import/local/user
ユーザーの登録、更新、削除

 

CSVをMotionBoardの共有フォルダにアップロードする際は、このようなリソースURIになります。

rest/csv/put/shared/<フォルダーパス>/<CSVファイル名>
共有CSVファイルのアップロード

 

パラメータ

パラメータにはすべてのWeb APIで共通のものと、各Web APIごとに用意されたものの2種類があります。まずはすべてのWeb APIで共通のパラメータについて紹介します。共通のパラメータは「どの」環境に対して「誰が」Web APIを叩くのかといった最低限必要な情報に該当します。

※1 オンプレかつマルチテナントライセンスでない場合は不要です。一方、クラウドの場合はテナントIDをCookieで指定するか、URLパラメーターとして必ず指定する必要があります

続いて各Web API個別のパラメータです。例えば、「ユーザーを登録する」場合に必要なパラメータは下記になります。(※ 必須のもののみ抜粋)

 

cURLを使って実際にWeb APIを使ってみる!

cURLの起動と使い方

Web APIを使う上で必要な情報がそろったところで、早速Web APIを使ってみましょう。Web APIを使う(俗に「Web APIを叩く・キックする」と表現することもあります)方法はたくさんあります。その中でもcURL(「カール」と読みます)というコマンドを使った方法は、Windows・Linux ともに標準で使え、かつ簡単に試すことができます。

では早速使ってみましょう。Windowsの場合はコマンドプロンプトを開きます。スタートメニューから「cmd」と検索するとヒットするかと思います。

コマンドプロンプトに、下記のようなフォーマットでWeb APIに必要な情報を指定し、Enterを押すだけでMotionBoardのWeb APIを使うことができます!

curl -X POST -F "[ファイルのパス]" "[サーバーURL]/[リソースURI]?[パラメータ1]=[パラメータ1の値]&[パラメータ2]=[パラメータ2の値]&・・・"

パラメータはURLの末尾に「?」を付けて記述します。一つではないので、必要な数だけ「&」をつけて追加します。
また、ファイルを指定する場合には「-F」を使って当該ファイルのパスを指定します。

コマンドの完成形

最後に、ユーザーを登録するWeb APIを例に最終的なコマンドの書式を紹介します。

curl -i -X POST -F "uploadFile=@C:/Users/add_user_list.csv" "https://cloud-up.motionboard.jp/motionboard/rest/directory/import/local/user?tenant=abcd1234&id=user&pw=password&command=add"

まずは、

まずは、サーバーURLとリソースURIをつなげてアクセスするURLを完成させます。このURLは「エンドポイント」と呼ばれます。また、その際に各種パラメータを末尾に指定します。

https://cloud-up.motionboard.jp/motionboard/rest/directory/import/local/user?tenant=abcd1234&id=user&pw=password&command=add

以下は例で指定しているパラメータとその値です。

最後に、ユーザーを追加するWeb APIにおいてはファイルを指定する必要があるため、「-F」にてCSVファイルのパスを指定します。

-F "uploadFile=@C:/Users/add_user_list.csv"

ではコマンドを入力してEnterを押して実行してみましょう。cURLでは「-i」を指定することで、コマンドが成功したかといった結果(レスポンスと呼びます)を確認することができます。成功するとこのようなテキストが出力されます。

HTTP/1.1 200
Transfer-Encoding: chunked
Date: Thu, 18 May 2023 05:26:59 GMT
Server: MotionBoard 6.4

一行目の「200」という番号はステータスコードと呼ばれ、200だと成功、404だとURLが間違っている可能性が高いです。エラーが出た場合はステータスコードやエラーメッセージを見て、今一度URLやパラメータが間違っていないか確認してみましょう。以上がMotionBoardのWeb APIの簡単な使い方の紹介になります!

まとめ

本記事では、MotionBoardのWeb APIの簡単な使い方を紹介しました。MotionBoardには、今回紹介したユーザー登録やCSVのアップロード以外にもたくさんのWeb APIが用意されています!

Web API一覧

 

本記事で紹介した方法を試していただき、他のWeb APIを使った自動化や工数削減を実現できれば幸いです。本記事を参考に、実際に一括ユーザー登録などを行ってみてください!

この記事にリアクションしてみませんか?

  • 分かりやすい (3)
  • 問題が解決した (1)
評価いただいてありがとうございます!
プロフィールへ

宇根 昌和

新卒でウイングアーク1stへ入社、プリセールス活動を行っています。Pythonをベースに様々なツールからデータをDr.Sumへ集約しMotionBoardで可視化する仕組みを作ったり、Web APIを使ったデータ蓄積ノウハウをテーマにイベント登壇したりしています。Dr.Sum及びMotionBoardを中心とした役立つ情報を発信していきます!

Related article

Related article関連記事

Pick up

Pick upおすすめ記事

特定の文字列で分割して階層構造をつくりたい!~DS Scriptで分割する~1

  • #データ加工
  • #DS Script

2023.07.17

Dr.Sum

DS Scriptで必要なテーブルだけ再構築(リビルド)をしよう

  • #DS Script

2023.07.06

Dr.Sum

「データポイント数が、しきい値をオーバーしました」というエラーの解決方法【データベースで処理をしよう】

  • #データ加工

2023.06.13

MotionBoard

Ranking

Rankingランキング

1

棒グラフを大きい順番に並び替えたい!(ソートしたい)

  • #デザイン
  • #グラフ
  • #集計表

2019.06.15

MotionBoard

2

カスタム項目の書き方 よく使う関数からIfまで

  • #データ加工

2023.07.28

MotionBoard

3

経過時間を時:分:秒で時刻表示したい!【320秒→05:20】

  • #グラフ

2022.08.02

MotionBoard

Info

Information

ウイングアーク1stからのお知らせ