Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

SmartHR Web API を使って、Office365 にユーザー情報を自動的に登録:RSSBus Connect

前回の記事で SmartHR Web API の基本的な機能の確認をしました。

bit.ly

今回は実際にありそうなユースケースベースでお伝えしたいと思います。

シナリオ

SmartHRはおそらく会社の中で一番最初にユーザーを登録する場所なので、そのデータを元に会社の各システムにユーザー情報を連携させる、というニーズが強いんじゃないかなと思います。

そこで、私も個人的に利用しているOffice365 を使って、「新入社員が SmartHRに登録されたら、Office365に新しくユーザーを作成する」というシナリオでシステムを構成してみました。

f:id:sugimomoto:20190115182209p:plain

SmartHR と Office365 の接続にはRSSBus Connectというデータ連携ツールを利用します。

RSSBus Coonectとは?

RSSBus Connectは、ファイル、データベース、またはクラウドアプリケーションのデータをすべて1つのアプリケーションで簡単に統合することができるソフトウェアです。

アプリケーションとデータの接続を行い、Mrketoなどのマーケティングサービスから得た顧客情報をSalesforce等のSFAに連係したり、バイナリファイル転送・EDIによるプロセスの自動化も行うことが可能です。

image.png

RSSBus Connectは以下のようにフロー形式のUIで各データソースを繋ぐようにデータ連携のプロセスを開発することが可能です。

image.png

実行イメージ

処理内容は単純です。以下のような感じで、新しくSmartHRに新入社員が登録されたら

f:id:sugimomoto:20190115182317p:plain

RSSBusConnectがバッチで起動し、SmartHR Web APIを経由して、作成された社員情報を取得。

Office365 ユーザー情報に変換し、GraphAPIを経由してユーザー情報を作成します。

f:id:sugimomoto:20190115182329p:plain

以下のように登録されて完了となります!

f:id:sugimomoto:20190115182341p:plain

これで、新入社員が入るたびにユーザー情報を Office365 に作成する手間が省けるかなと。

RSSBus 利用手順

それでは実際の利用手順を見ていこうと思います。

今回はすでに私が作成したRSSbusのテンプレートがあるので、それをインポートして、認証情報などを設定するだけでサクッと試すことが可能です。

必要なもの

・RSSBus Connect

・Office365 Port

・Office365 アカウント(トライアルあり)

・SmartHR アカウント(トライアルあり)

Office365 ClientIDとClientSecretの取得について

RSSBusの準備を始める前に、Office365 アカウントについて1点注意事項があります。

RSSBus Connectには標準でOffice365 GraphAPIにアクセスするためのClientIDとClientSecretが提供されていますが、セキュリティ上の考慮のため、ユーザーの作成や削除権限が付与されていません。

下記手順でAzure ADに新しくOAuth用のアプリを作成し、対象のアプリにユーザー情報を作成するための権限を付与しておいてください。

kageura.hatenadiary.jp

RSSBus Connect と Office365 Portのインストール

RSSBus Connect は以下のURLからトライアルを取得可能です。

https://www.rssbus.com/

製品のダウンロード後、以下のようなウィザードに従ってインストールを進めます。

f:id:sugimomoto:20190116111423p:plain

そんなに難しい部分はありませんが、インストールやトライアルのアクティベーションは下記のBlogで詳しく解説しています。

qiita.com

Office365 Port のインストール

以下のURLからexeファイルをダウンロードして、インストールを実施します。

https://s3-ap-northeast-1.amazonaws.com/cdatajbuilds/sugimototest/SmartHR/CXTD-A_6950_free.exe

特に難しい設定はないので、そのまま次へ次へと進めればOKです。

f:id:sugimomoto:20190115184948p:plain

RSSBus Connect に SmartHR Script とテンプレートのインストール

現在、RSSBus Connect の標準機能としてSmartHRの接続は提供されていないません。

なので、私が作成しましたSmartHRの接続サンプルを以下のURLからダウンロードして、使ってみてください。

https://s3-ap-northeast-1.amazonaws.com/cdatajbuilds/sugimototest/SmartHR/SmartHR_Office365_UserConnectionTemplate.zip

テンプレートのインストール方法はこちらから。

qiita.com

SmartHR 接続情報の設定

それでは、実際に動かせるように RSSBus Connect の設定作業を進めていきます。

まず、SmartHR Web API を利用してJSONデータを取得している「GetSmartHRCrew」をクリックし、XMLの中の各設定値を変更します。

f:id:sugimomoto:20190115182229p:plain

変更が必要なものは「TenantId」と「AccessToken」です。この部分は前回のBlogでも解説しているので、参考にしてみてください。

必要に応じて、Domainも変更します。現在はサンドボックス環境に接続するために「daruma.space」を指定しています。

ちになみにデフォルトでは、夜の11時くらいに実行して、当日作成されたユーザーを取得する想定で、 SmartHRのWeb APIをリクエストしています。

設定完了後、「Save Changes」ボタンをクリックして、設定を反映させます。

Office365 認証設定

次に「InsertOffice365User」をクリックして、設定を行います。

前述したように、RSSBus Connect には標準でClientIDとClientSecretが提供されていますが、権限が不足しているので、独自に作成したアプリのClientIDとClientSecretを

「Advanced」→「Other」の項目の中に以下のようなフォーマットで入力します。「XXXXXX」の部分をそれぞれの値に差し替えてください。

OAuthClientId=XXXXXXXXXX;OAuthClientSecret=XXXXXX;

f:id:sugimomoto:20190115182235p:plain

次に「Settings」タブに移動して、接続するTenantID(hogehoge.onmicrosoft.com)を入力し、「Connect to Office365」をクリックすれば、OAuth認証が開始されます。

f:id:sugimomoto:20190115182243p:plain

OAuth認証のアクセス許可が承諾されれば、設定完了です。

マッピングの変更

最後に SmartHR のデータを Office365 ユーザーとして登録する際に、どの項目をどこに当てはめるのか? といったマッピングの構成を「XMLMapCrewToUser」で行います。

「XMLMapCrewToUser」をクリックすると、SourceとDestinationそれぞれのタブがあるので、ドラッグアンドドロップなどでマッピングを変更することができます。

f:id:sugimomoto:20190115182255p:plain

今回はユーザーを作成するにあたって必要最低限の以下の項目だけ設定しています。

・AccountEnabled = true を固定値で設定
・DisplayName = SmartHR の姓・名をつないで設定
・MailNickname = SmartHR の社員番号を設定
・UserPrincipalName = SmartHR のEmailを設定
・PasswordProfile_ForceChangePasswordNextSignIn = true を固定値で設定
・PasswordProfile_Password = P@ssw0rd!を固定値で設定

以上で設定は完了です。

手動実行の方法

手動で実行する場合は一番最初のモジュールである「GetSmartHRCrew」の「Output」タブから、「Receive」ボタンをクリックすればOKです。

f:id:sugimomoto:20190115182306p:plain

定期実行の構成

定期的に実行するように構成したい場合は、同じく「GetSmartHRCrew」の「Automation」タブから「Receive」を有効化して、任意の時刻設定を指定するだけです。

f:id:sugimomoto:20190115191417p:plain

おわりに

今回はOffice365 と接続しましたが、他にも RSSBus Connect はADやLDAPといったDirectoryサービスや各種クラウドサービスのコネクタを提供しているので、SmartHRのデータを様々なサービスへ手軽に展開できると思います。

[接続先コネクタ一覧]

f:id:sugimomoto:20190115193219p:plain

是非試してみてください。

クラウド労務管理ソフト SmartHR の Web API を使ってみる

f:id:sugimomoto:20190110152912p:plain

去年もいろいろなAPIを試してきたこのBlogですが、今年もはりきっていろんなAPIを試していきたいと思います。

新年一発目は、クラウド労務管理で最近かなり見かけるようになったなーと感じているSmartHRです!

公式サイトは以下からどうぞ。

smarthr.jp

Developer 向けの サイトも公開されています。

developer.smarthr.jp

続きを読む

「ZOZO 前澤社長のお年玉リツイート企画はどのくらい世の中に影響を与えたのか?」イベントを開催することになりました!

f:id:sugimomoto:20190117185929p:plain

先週公開した「ZOZO 前澤社長のお年玉リツイート企画はどのくらい世の中に影響を与えたのか?500万件超えのリツイート情報の取得と分析を個人的に試みる!(仮)」記事なんですが、思いの外様々な方々から反響をいただきました!

kageura.hatenadiary.jp

実際にPayPalでご支援いただける方も居て、大変ありがたい限りです!

そして、Facebookでたまたま知り合いました MaP design Founder の 渡部さんご協力のもと、1月28日に日本マイクロソフト品川本社セミナールームでイベントを開催することになりました!

ptix.at

当日は、様々な方のご協力のおかげで実現できた500万件の取得をベースに

Twitter APIを利用して500万件超えのリツイート情報を取得する方法」

「取得したデータから見る最新のTwitter マーケティング活用アプローチ」をお伝えする予定です!

あのリツイート騒動からなんとか1週間ほどで告知に漕ぎ着けられました。

ぜひぜひ、熱が冷めないうちにこのタイムリーなイベントに参加してみてください!


お金をもらえたはずなのに、むしろお金がかかるみたいなコンテンツに協力していただけた 渡部 さんと 日本マイクロソフトの Shohei Oda さんには大感謝です!

また、Blog公開時からご支援頂いた かがたさん、フロッグポッド小林さん、インフラジスティックス・ジャパン 東さん、エンバカデロ井之上さん、ありがとうございます!

ZOZO 前澤社長のお年玉企画リツイート企画はどのくらい世の中に影響を与えたのか? 500万件超えのリツイート情報の取得と分析を個人的に試みる!(仮)

ZOZOタウンの前澤社長が当該ツイートをリツイートしてくれた人の中から100名を対象に100万円(総額1億円)をプレゼントしてくれるという、なんとも太っ腹? な企画が動いていますね。

Twitter上だけでなく、各メディアでも話題になっています。

nlab.itmedia.co.jp

申込みは1月7日12時締切になりまして、私が見たときには550万リツイートツイッターリツイート数世界1位になったみたいです!

私も面白い企画だなーと思って乗ってみたのですが、気になるのは対象100名の決定方法!

いろんな憶測ツイートでも出ている通り、標準のTwitterの機能だと結構制限が厳しいです。 でも、制限が厳しいとやってみたくなりますよね? 

それにこんな面白そうなビッグデータ、なかなか無いのではないか?

せっかくなので、このデータを分析してみたい! どんなユーザーがリツイートしているのか知りたい! ボットはどのくらい居そう? リツイートの影響数はどのくらい? この企画の期間中にツイッターアカウントを作成した人はどのくらい? 

そんないろいろと気になる疑問があったので、解決方法を探ってみました!

続きを読む

Web API の使われ方を分析するクラウドサービス「Moesif」を触ってみた

f:id:sugimomoto:20190106131030p:plain

ちょうど昨日、2019年1月05日に興味深いプレスリリースがありました。

jp.techcrunch.com

Web API管理ツールは数あれど、Web APIの分析を核としたサービスは珍しいなーと思ってみていました。

でも、CEOのコメントを見ると、昨今のAPIエコシステム、FintechによるAPI提供から垣間見えるデベロッパーチャーンを如何に防ぐか? といった課題・問題意識から作られたサービスであることがわかります。

Moesifの協同ファウンダーでCEOのDerric Gillingによると、MoesifはMixpanelやGoogle Analyticsに近いが、WebやモバイルのアナリティクスではなくAPIの使われ方を見る。“APIを作って提供する企業や、それらを利用する企業がますます増えているから、API利用の顧客であるデベロッパーがどんな使い方をしているのか、彼らは何かの問題に遭遇していないか、デベロッパーチャーン(developer churn, 他社API利用への移行…浮気)をどうやって減らせばよいか、等々を知る必要性が生じている”。

そういう意味では、結構今の環境をおさえたサービスで今後の展開・発展も含めて面白そうだったので、さくっとですが触ってみました。

公式サイトはこちらから。

www.moesif.com

  • 何ができるのか?
  • デモ環境を触ってみた
    • Event Stream
    • Segment Chart
    • Time Series
    • Geo Heatmap
    • Smart Diff/Correlation
    • User Analytics
    • Alert
  • Moesif の機能について
  • クラウドプロキシで簡単なAPIを分析できる状態にしてみる
  • 最後に
続きを読む

2018年の活動棚卸しと2019年の方針をまとめてみる

あけましておめでとうございます!(もう1月5日ですが)

2018年は子供が生まれたので、年末は青森に帰郷し、両親・義両親の実家を往復でなかなか忙しく(そう言いながら大間へマグロを食べに行ったりしていたのですが)しておりました。

こういう記事は初めてなんですが、今後もうちょっと意識的にキャリアや仕事についても取り組んでいきたいなぁというところもあり、また子供が生まれて自分の使える時間が減ったこともあるので、書いてみようと思った次第でした。

  • 2018年の活動概要
    • Blog 状況
    • Blog アクセス状況
    • Twitter
    • 勉強会への参加
  • 2019年はこうしたい
    • Blog
    • SNS
    • 勉強会
    • 健康をハック
    • 引き続き Web API には投資
    • Dynamics はちょっと思うところがある
    • 技術の重視傾向
    • 趣味的なところとか
  • おわりに
続きを読む

Power BI を使って Exchange の各ユーザーカレンダーを横断して分析できるようにする:CData Exchange Power BI Connector

今回は「Power BI 勉強会 @ 東京 #11」のランチセッションで発表するための記事になります!

powerbi.connpass.com

また、この記事の内容は以下の動画でも提供しています。

4分くらいなので、さくっと見てもらえるかと。

www.youtube.com

  • やりたいこと
  • 実現するにあたっての課題
  • 実現アプローチ
  • CData Power BI Exchagne Connector のインストールと接続設定
  • Power BI から Exchange Online に接続
続きを読む