こんにちは、テクニカルサポートの宮本です。
本記事では LINE WORKS の API 2.0 に CData Sync を使用して、自分のカレンダーに登録した予定情報を DB に連携する方法をご紹介します。
LINE WORKS とは
LINE WORKS は 皆さんおなじみのLINEと同じ使い勝手で使えるビジネス向けのチャットサービスです。
LINE で使っているスタンプで同僚とコミュニケーションをとれたり、グループに向けてノートや予定、ファイルの共有なども可能となっています。また社内向けに掲示板なども作成のほかに、社内外のユーザーに実施できるアンケートもう用意でき、さまざまなコラボレーション機能が1つのアプリに揃っています。
LINE 自体を日々使っている方も多いので、利用までのハードルが非常に低く定着しやすいアプリだと思います。
実現イメージ
ETL/ELT ツールの CData Sync を使って、LINE WORKS のカレンダーに登録してある個人の予定をデータウェアハウスとして使用している SQL Server に連携します。
なお、今回は LINE WORKS のフリープランを使用していきます。
ビュー一覧
LINE WORKS API 2.0 版は50個以上のエンドポイントが現在公開されていますが、CData Sync では今時点で 13 個のエンドポイント(掲示板情報やカレンダー情報を中心に)に対応しています。
カテゴリ | エンドポイント名 | CData ビュー名 |
---|---|---|
User | ユーザーリストの取得 | UserList |
Board | 掲示板リストの取得 | BoardList |
Board | 投稿リストの取得 | BoardPostList |
Board | 最新投稿リストの取得 | BoardRecentPostList |
Board | マイ投稿リストの取得 | BoardMyPostList |
Board | 必読投稿リストの取得 | BoardMustPostList |
Board | 添付ファイルリストの取得 | BoardPostAttachmentList |
Board | コメントリストを取得 | BoardPostCommentList |
Calendar | ユーザーの基本カレンダーの取得 | UserCalendar |
Calendar | ユーザーのカレンダーリストの取得 | UserCalendarAccessList |
Calendar | カレンダーの取得 | Calendar |
Calendar | 指定カレンダーの予定リストの取得 | SpecificationCalendarEventList |
Calendar | 基本カレンダーの予定リストの取得 | BasicCalendarEventList |
上記以外のエンドポイントでもし早く追加してほしいものがありましたら、テクニカルサポートまでご連絡ください。
CData Software Japan - Support Form
なお、LINE WORKS API 2.0 のリファレンスはこちら。
接続設定
CData 製品から LINE WORKS に接続する場合は、LINE WORKS Developer Console にアクセスして接続用のアプリを作成する必要があります。
では Developer Console にアクセスし、
https://developers.worksmobile.com/jp/console/openapi/v2/app/list/view
アプリの新規追加をクリックします。
Redirect URL に下記内容を設定します。
local host かつ 8019 ポートでCDataSyncを起動している場合
http://localhost:8019/src/oauthCallback.rst
local host以外でCDataSync を起動している場合
http://<server>:<port>/src/oauthCallback.rst
OAuth Scope を選択します。カレンダー情報取得には calendar だけでも良いのですが、今回はフリープランで表示されているもの全てにチェックを入れます。
ちなみにフリープランと有償プランでは選択できるScope に違いがありますが、取得だけの場合はそこまで大きな違いは現状なさそうです。 help.worksmobile.com
設定が完了したら発行された Client ID と Client Secret をコピーしておきましょう。後ほど CData Sync から LINE WORKS への接続設定で使います。
CData Sync のインストール&LINE WORKS コネクタインストール
CData Sync をインストールします。インストール~アクティベート、また使い方などはこちらのハンズオン記事をご参照ください。
次に LINE WORKS コネクタを CData Sync に追加します。
CData Sync の接続設定画面の「+Add More」から LINE WORKS を検索してコネクタを追加します。もし検索しても表示されないようでしたら、以下リンクからサポートデスクまでご連絡いただければ、LINE WORKS コネクタを直接ご提供いたします。
CData Software Japan - Technical Support
サポートデスクより LINE WORKS コネクタを受領した場合は、下記設定手順をご参考ください。
1.LINE WORKS コネクタとして受け取った LINEWORKS.apip を下記パスに配置します。
C:\ProgramData\CData\sync\profiles
2.CData Sync を起動後、接続設定画面を開き LINE WORKS と書かれたアイコンが表示されていることを確認します。あればOKですが、ない場合は サポートデスクまでご連絡ください。
LINE WORKS への接続設定
では CData Sync から LINE WORKS への接続設定を行います。先ほど確認した LINE WORKS コネクタをクリックします。
設定タブでは以下内容を設定します。
設定項目 | 設定値 |
---|---|
Profile Settings | LINE WORKS Developer Console で選択したした SCOPE 例:Scope=board,board.read,bot,bot.read,calendar,calendar.read ,contact.read,ecopartner,ecopartner.read,group.read,orgunit.read,user.read; |
OAuth Client ID | LINE WORKS Developer Console で取得した Client ID |
OAuth Client Secret | LINE WORKS Developer Console で取得した Client Secret |
Advanced タブでは以下内容を設定します。
設定項目 | 設定値 |
---|---|
Other | LINE WORKS Developer Console で指定した Redirect URL を設定 例:callbackurl=http://localhost:8019/src/oauthCallback.rst; |
入力が完了しましたら接続テストを行い、成功したら保存します。
SQL Server への接続設定
次に SQL Server への接続設定を行います。設定内容は下記をご参考ください。
レプリケートジョブの作成
ジョブ一覧画面から「ジョブを追加」ボタンをクリックし下記内容を設定します。
設定項目 | 設定値 |
---|---|
ジョブ名 | 任意のジョブ名 |
ソース | LINE WORKS |
同期先 | SQLServer |
次にLINE WORKS のどのデータを同期させるかを設定していきます。
「テーブルを追加」ボタンをクリックし、自分のカレンダー情報を取得できる「BasicCalendarEventList」を選択します。
そうすると下記クエリが自動生成されます。
なお、BasicCalendarEventList はいつからいつまでのデータが欲しいかをリクエストパラメータとして指定するのが必須になっています。また最大31日間までの期間指定という制約があります。
CDara LINE WORKS コネクタでは期間指定を行わない場合、デフォルトで当日から31日後までの期間指定を行うようにしています。
※SpecificationCalendarEventList ビューでも同対応を行っています
レプリケートジョブの実行
クエリを再作成後、クエリにチェックを入れ実行ボタンをクリックするとレプリケートジョブが実行されます。
実行後に同期先DB の SQL Server を確認してみると、LINE WORKS のカレンダーに登録している予定が連携されていました。
おわりに
いかがでしたでしょうか。今回は CData Sync の LINEWORKS コネクタを使用して、LINE WORKS API 2.0 から予定情報を SQL Server に同期させてみましたが、予定情報以外にも掲示板やコメント情報なども取得することが可能ですので、是非お試しください。
なお、CData Sync 以外にも JDBC/ODBC/ADO や Excel からでもデータを取得することもできますのでさまざまなツールなどからもご利用ください。
利用方法などご不明な点がございましたら、テクニカルサポートまでご連絡ください。