CData Software Blog

クラウド連携のCData Software の技術ブログです。

CData Sync から LINE WORKS API 2.0 に接続してカレンダーに登録している予定情報をDBに同期してみた

こんにちは、テクニカルサポートの宮本です。

本記事では LINE WORKS の API 2.0 に CData Sync を使用して、自分のカレンダーに登録した予定情報を DB に連携する方法をご紹介します。

LINE WORKS とは

LINE WORKS は 皆さんおなじみのLINEと同じ使い勝手で使えるビジネス向けのチャットサービスです。

line.worksmobile.com

LINE で使っているスタンプで同僚とコミュニケーションをとれたり、グループに向けてノートや予定、ファイルの共有なども可能となっています。また社内向けに掲示板なども作成のほかに、社内外のユーザーに実施できるアンケートもう用意でき、さまざまなコラボレーション機能が1つのアプリに揃っています。
LINE 自体を日々使っている方も多いので、利用までのハードルが非常に低く定着しやすいアプリだと思います。

実現イメージ

f:id:sennanvolar44:20220320155014p:plain ETL/ELT ツールの CData Sync を使って、LINE WORKS のカレンダーに登録してある個人の予定をデータウェアハウスとして使用している SQL Server に連携します。

なお、今回は LINE WORKS のフリープランを使用していきます。

line.worksmobile.com

ビュー一覧

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 のリファレンスはこちら。

developers.worksmobile.com

接続設定

CData 製品から LINE WORKS に接続する場合は、LINE WORKS Developer Console にアクセスして接続用のアプリを作成する必要があります。

では Developer Console にアクセスし、
https://developers.worksmobile.com/jp/console/openapi/v2/app/list/view

アプリの新規追加をクリックします。
f:id:sennanvolar44:20220316065837p:plain

Redirect URL に下記内容を設定します。

  • local host かつ 8019 ポートでCDataSyncを起動している場合
    http://localhost:8019/src/oauthCallback.rst

  • local host以外でCDataSync を起動している場合
    http://<server>:<port>/src/oauthCallback.rst

f:id:sennanvolar44:20220316070103p:plain

OAuth Scope を選択します。カレンダー情報取得には calendar だけでも良いのですが、今回はフリープランで表示されているもの全てにチェックを入れます。
f:id:sennanvolar44:20220316070652p:plain

ちなみにフリープランと有償プランでは選択できるScope に違いがありますが、取得だけの場合はそこまで大きな違いは現状なさそうです。 help.worksmobile.com

設定が完了したら発行された Client ID と Client Secret をコピーしておきましょう。後ほど CData Sync から LINE WORKS への接続設定で使います。
f:id:sennanvolar44:20220316072313p:plain

CData Sync のインストール&LINE WORKS コネクタインストール

CData Sync をインストールします。インストール~アクティベート、また使い方などはこちらのハンズオン記事をご参照ください。

www.cdatablog.jp

次に 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ですが、ない場合は サポートデスクまでご連絡ください。
f:id:sennanvolar44:20220316074621p:plain

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

f:id:sennanvolar44:20220316074846p:plain

Advanced タブでは以下内容を設定します。

設定項目 設定値
Other LINE WORKS Developer Console で指定した Redirect URL を設定
例:callbackurl=http://localhost:8019/src/oauthCallback.rst;

f:id:sennanvolar44:20220316075713p:plain

入力が完了しましたら接続テストを行い、成功したら保存します。
f:id:sennanvolar44:20220316080117p:plain

SQL Server への接続設定

次に SQL Server への接続設定を行います。設定内容は下記をご参考ください。
f:id:sennanvolar44:20220316080251p:plain

レプリケートジョブの作成

ジョブ一覧画面から「ジョブを追加」ボタンをクリックし下記内容を設定します。

設定項目 設定値
ジョブ名 任意のジョブ名
ソース LINE WORKS
同期先 SQLServer

f:id:sennanvolar44:20220316081109p:plain

次にLINE WORKS のどのデータを同期させるかを設定していきます。
「テーブルを追加」ボタンをクリックし、自分のカレンダー情報を取得できる「BasicCalendarEventList」を選択します。
f:id:sennanvolar44:20220321000012p:plain

そうすると下記クエリが自動生成されます。
f:id:sennanvolar44:20220321000207p:plain

なお、BasicCalendarEventList はいつからいつまでのデータが欲しいかをリクエストパラメータとして指定するのが必須になっています。また最大31日間までの期間指定という制約があります。
CDara LINE WORKS コネクタでは期間指定を行わない場合、デフォルトで当日から31日後までの期間指定を行うようにしています。 ※SpecificationCalendarEventList ビューでも同対応を行っています

レプリケートジョブの実行

クエリを再作成後、クエリにチェックを入れ実行ボタンをクリックするとレプリケートジョブが実行されます。
f:id:sennanvolar44:20220321001458p:plain

実行後に同期先DB の SQL Server を確認してみると、LINE WORKS のカレンダーに登録している予定が連携されていました。
f:id:sennanvolar44:20220321001653p:plain

おわりに

いかがでしたでしょうか。今回は CData Sync の LINEWORKS コネクタを使用して、LINE WORKS API 2.0 から予定情報を SQL Server に同期させてみましたが、予定情報以外にも掲示板やコメント情報なども取得することが可能ですので、是非お試しください。
なお、CData Sync 以外にも JDBC/ODBC/ADO や Excel からでもデータを取得することもできますのでさまざまなツールなどからもご利用ください。
利用方法などご不明な点がございましたら、テクニカルサポートまでご連絡ください。

CData Software Japan - Technical Support