今回は、LINE WORKSのREST API (ver2.0)を外部システムからコールするための設定方法、また、Talend API Testerを使って実際にLINE WORKSのAPIを呼び出す手順についてご説明していきます。
※LINE WOKRSは、現在API2.0のバージョンが最新となっていますので、今回はAPI2.0の前提で説明します。
前回ご説明したTalend API Testerを使ってSalesforceのREST APIを外部システムからコールする手順(以下の記事)と同じような手順で、OAuthを利用してアクセストークンを取得し、トークンを使ってAPIを実行する流れとなります。
-
参考Talend API TesterのREST APIを使ってSalesforceにOAuthクライアント認証を行う
外部システムとSalesforceのデータ連携方法のひとつとして、Salesforceが提供する標準APIを利用した方法があります。 本記事では、Gooole Chromeの拡張機能として提供されてい ...
続きを見る
簡単な流れ
- LINE WORKSのアカウントセットアップ
- 2.LINE WORKSの初期設定
- LINE WORKS Developersで開発に関する設定を行う
- Talend API Testerを使ってLINE WORKSのAPIをコールする
1.LINE WORKSアカウントのセットアップ
まずは、LINE WORKSのAPIを利用するために、LINE WORKSのアカウントを用意する必要があります。
既にアカウントをお持ちの場合はそちらを利用していただき、まだお持ちでない場合は、以下のサイトからアカウントを作成してください。
今回の検証で利用するAPIについては、フリープラン(無料)で検証可能です。
LINE WORKS 公式サイト「アカウントセットアップ」
料金プランには、FREE(フリー)¥0、STANDARD(スタンダード)¥450、ADVANCED(アドバンスト)¥800の3種類があります。(2022年8月22日時点)
プランの違いは、利用料金のページ下部に以下のように詳細が記載されているのでご確認ください。
今回はフリープランで、アカウントのセットアップを行っていきます。
手順①LINE WORKS 公式サイトのトップメニューから「今すぐはじめる」をクリックします。
手順②以下のページで「無料ではじめる」をクリックします。
手順③続いて、ご自身の所属する企業/団体の情報を選択して、次へをクリックします。
手順④サービスを利用する企業/団体名を入力します。※会社名を入力すればOK
手順⑤名前(姓名)を入力して、次へをクリックします。
手順⑥サービスへログインする際に利用する携帯電話番号を入力して次へをクリックします。※携帯電話に認証番号が通知されます。
※携帯電話番号が利用できない場合は、別の方法で新規開設をクリックすると、メールアドレスでのアカウント作成が可能です。
手順⑦登録した携帯電話に4桁の認証番号が届いたら、以下の画面に番号を入力します。
手順⑧認証が完了すると以下の登録完了画面が表示されます。
作成したサービスを他に利用するメンバーがいる場合は、以下の画面に招待メールアドレスを登録して通知することで招待が可能です。
手順⑧サービスをはじめるをクリックすると、LINE WORKS にログインし、プライバシーポリシー確認画面が表示されるので、「規約に同意してサービスを利用する」をクリックして開始します。
2.LINE WORKSの初期設定
アカウントの作成が終わったら、まずはLINE WORKSの初期設定を行います。
手順①以下、LINE WORKSへログイン後の画面で、右上の自分のアイコンをクリックして、メニューを表示し、管理者画面のメニューを実行します。
手順②以下の管理者画面(Admin)に遷移すると、管理者メニューの実行が可能となります。
手順③管理者画面への初回ログイン時には、以下の初期設定のウィザードが表示されるので、今回はこちらを使ってセットアップしていきます。
「はい、設定します」のボタンをクリックして次に進みます。
手順④業種選択画面ではアカウント作成時に指定した業種が指定されているので、変更がなければ次へ進みます。
手順⑤次にチーム/部署の情報を設定します。LINE WORKSからAPIで組織情報を取得する検証を行う場合は、部署の情報を設定しておきましょう。
※ここで指定しなくても、あとから個別のメニューで登録することは可能です。
手順⑥部署を作成したら所属設定をしておきます。
手順⑦今度は、役職/職級を設定します。属性情報としてAPIで取得可能な項目となります。
手順⑧最後は予約管理対象の設備を設定します。(会議室など)
手順⑨設定が完了すると以下の完了画面に遷移します。掲示板は今回は利用しないので、追加しなくても構いません。
掲示板を追加するをクリックした場合は以下の画面へ遷移するため、必用に応じて追加してください。
以上で、管理画面の初期設定は完了となります。
開発メンバーの追加と管理者権限の委任(オプション)
管理者用アカウントを1つ作成していますが、実際の開発では、開発メンバーが他にいて、そのメンバーに開発権限を付与して運用することがあると思います。その場合、まずは管理者画面でメンバーを登録して、メンバーに対して管理者権限の委任をする必要があります。
手順①LINE WOKRS Admin(管理者画面)にログインし、メンバーメニューからメンバーの追加をします。
手順②メンバーのメニューからメンバーを追加を実行します。
手順③メンバーの追加画面で、姓名、ID、所属、パスワードを設定して登録します。
手順④メンバーの登録が完了したら、メンバーの修正からメールアドレスを設定してください。
※管理者権限をメンバーへ委任するためには、メールアドレスが必須となります。
手順⑤続いて、管理者権限のメニューをクリックして、管理者権限画面にて、権限委任をクリックします。
手順⑥権限委任画面にて、委任先のメンバーを指定して次へ進みます。
手順⑦委任を受け入れる画面が表示されます。※委任先のメンバーにメールが通知されます。
手順⑧委任先のメンバーのメールアドレスに以下のメールが届くため、管理者権限を承諾ボタンをクリックします。
3.LINE WORKS Developersで開発に関する設定を行う
LINE WORKSのサービス側の設定が完了したら続いてLINE WOKRS Developersサイトで、開発(API連携)する場合に必要な設定を行っていきます。
手順①ブラウザで、以下「LINE WOKRS Developers」サイトを表示します。
LINE WORKS 公式サイト「LINE WORKS Developers」
手順②サイトを表示したら、Developer Consoleをクリックします。
手順③API2.0のメニューをクリックして、アプリリストを表示したら、アプリの新規追加+をクリックします。
手順④アプリの新規追加画面が表示されたら、アプリの名称を指定して、追加ボタンをクリックします。
例では、LINEWORKS_REST_APIと設定しています。
手順⑤アプリ情報の画面で、説明の情報を入力します。
ここに表示されるCliend ID、Cliend Secretの情報は、外部システムからREST APIを利用する際に必要となります。
手順⑥続いて、OAuth Scopeの選択を行います。ここで選択されたAPIは外部からコール可能です。
今回の検証では、Contactだけあれば検証可能ですが、一律すべてチェックしても構いません。
スコープに関する説明は、公式サイトで以下のように説明されています。
Scope | Resource | Operation |
---|---|---|
audit.read | 監査ログ | Read |
board | 掲示板 | Read / Write |
board.read | 掲示板 | Read |
bot | Bot | Read / Write |
bot.read | Bot | Read |
calendar | カレンダー | Read / Write |
calendar.read | カレンダー | Read |
contact | アドレス帳 | Read / Write |
contact.read | アドレス帳 | Read |
file | Drive | Read / Write |
file.read | Drive | Read |
group | グループ | Read / Write |
group.read | グループ | Read |
group.folder | グループフォルダ | Read / Write |
group.folder.read | グループフォルダ | Read |
メール | Read / Write | |
mail.read | メール | Read |
orgunit | 組織 | Read / Write |
orgunit.read | 組織 | Read |
directory | 組織 ユーザー 役職 職級 利用権限タイプ グループ |
Read / Write |
directory.read | 組織 ユーザー 役職 職級 利用権限タイプ グループ |
Read |
partner | パートナー | Read / Write |
partner.read | パートナー | Read |
user | ユーザー | Read / Write |
user.read | ユーザー | Read |
user.email.read | ユーザー(emailのみ) | Read
|
※引用元「LINE WORKS Developersドキュメント「OAuth Scopes」より
フリープランの場合、トークログの取得の権限(audit)などは表示されないため、利用できないようです。
手順⑦スコープを設定したら保存してアプリリストの画面へ戻ります。
4.Talend API Testerを使ってLINE WORKSのAPIをコールする
Talend API TesterのREST APIで、LINE WORKSのOAuthのクライアント認証を行う手順を説明します。
-
参考Talend API TesterのREST APIを使ってSalesforceにOAuthクライアント認証を行う
外部システムとSalesforceのデータ連携方法のひとつとして、Salesforceが提供する標準APIを利用した方法があります。 本記事では、Gooole Chromeの拡張機能として提供されてい ...
続きを見る
Talend API Testerを使ってLINE WORKSへOAuth認証を行う
ここからは、Talend API Testerを使って、LINE WOKRSにOAuth認証する手順を説明していきます。
手順①新規プロジェクトの作成:Talend API Testerの画面を表示したら、Requestsのタブ->「REPOSITORY」を開いて、MY DRYBEの「:」メニューをクリックして、[Add a project]を実行します。
手順②プロジェクト作成画面で、プロジェクト名を設定して+Createをクリックします。
プロジェクト名:(例)LINEWORKS_REST_API ※任意の名称
手順③プロジェクトが作成されたら、今度は、プロジェクト名(LINEWORKS_REST_API)の「:」メニューをクリックして、「Add a service」を実行します。
手順④サービスの追加画面が表示されたらデフォルトのサービス名「Service」を修正しておきます。
サービス名:(例)API2.0
手順⑤サービス名を変更したら、+Add a requestをクリックして、リクエストを作成します。
デフォルトのリクエスト名(Request)を実行するRequestの処理名に変更します。
リクエスト名:1.Authorization Codeの発行
以下の内容を設定します。
METHOD(メソッド):GET(ゲット)
SCHEMA(スキーマ):https://auth.worksmobile.com/oauth2/v2.0/authorize?client_id={Client_ID}&redirect_uri={Redirect_URL}&scope={Scope}&response_type=code&state={Free_Text}
クエリパラメータ:
- client_id={Client_ID} ※LINEWORKS_REST_APIアプリ作成時に生成されたCliend ID
- redirect_uri={Redirect_URL} ※アプリのRedirect URL(個々の環境に合わせて指定)
- scope={Scope} ※Scopeで選択したAPIを指定、例では、Contact.readを指定
- response_type=code(固定値)
- state={Free_Text} ※任意の文字列
- domein(任意)※設定する場合は、LINEWORKS管理画面に表示されてるドメインを指定
クエリパラメータの説明
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
client_id | String | Y | アプリのClient ID |
redirect_uri | String | Y | アプリのRedirect URL。Authorization Code発行後のリダイレクト先。 |
scope | String | Y | 利用する scope 。複数の scope を設定する場合は「,」で区切る |
response_type | String | Y | code (固定) |
state | String | Y | CSRFを防止するために用いる任意の値 |
domain | String | N | ドメイン名。(スタンダードプランの場合は、グループ名) SSO機能を利用する場合は必須。 |
※引用元「LINE WORKS Developersドキュメント「Authorization Codeの発行」より
手順⑥クエリパラメータの設定が完了したらSendをクリックして、GETメソッドを実行してみましょう。
ログイン画面で認証に失敗した場合、エラー画面が表示されます。
ログイン画面で認証に成功した場合、Redirect URL(redirect_uri)にリダイレクトされます。
※RESPONSE=200となっていても、返却された内容を確認すると以下のようにエラーメッセージが表示されている場合があります。
エラー内容:無効なOAuth Scopeです。
※LINEWORKSのアプリ作成時に設定(選択)したScope以外のものが指定されている場合に発生
正常終了の場合は、RESPONSE200が返却され、BODYには、以下の情報が設定されています。
code=発行されたAuthorization Code値、errorCode=00、state=パラメータで指定したStatte値
Authorization Codeを使って、Access Tokenを取得
続いて、正常終了で返却されたAuthorization Codeを使って、Access Token(アクセストークン)を取得するRequest(リクエスト)を作成します。
手順①Authorization Codeのリクエスト作成時と同じように、サービス(API2.0)にリクエストを追加して以下の設定を行います。
以下の内容を設定します。
METHOD(メソッド):POST(ポスト)
SCHEMA(スキーマ):https://auth.worksmobile.com/oauth2/v2.0/token
BODY FORMパラメータ:
- code={Authorization Code} ※Authorization Code取得のAPIを実行して取得したCodeを指定
- grant_type=authorization_code ※固定文字列
- client_id={Client_ID} ※LINEWORKS_REST_APIアプリ作成時に生成されたCliend IDを指定
- client_secret={Client_secret} ※LINEWORKS_REST_APIアプリ作成時に生成されたCliend Secretを指定
- domain={domein} ※LINEWORKSのサービスのドメイン名を指定(Developer Consoleのメニューバーに表示されている)
※ドメイン名について、スタンダードプランの場合は、グループ名を指定します。また、SSO機能を利用する場合は指定が必須となります。
手順②パラメータ設定後、Sendをクリックして、POSTメソッドを実行してみましょう。
正常終了した場合は、以下のようにRESPONSE=200で、BODYに取得したアクセストークンが表示されます。
Access Tokenを使って、LINEWORKSの連絡先取得APIを実行
Access Tokenが取得できたら、このトークンを使って、実際にLINE WORKSのデータを取得するAPIを実行してみましょう。
API実行前にデータの作成(アドレス帳に新規取引先を登録)しておきます。
手順①LINE WORKSのサービスへログインして、連絡先追加メニューを実行します。
手順②顧客/取引先の連絡先を作成画面で以下の情報を登録します。
取引先名、姓名、ニックネーム、会社、所属、電話番号、メールアドレス、公開範囲、編集許可
※必須項目のみ設定して保存しておきます。、
手順③Talend API Testerの画面に戻って、サービス(API2.0)に対して、もう一つ以下のRequestを追加します。
以下の内容を設定します。
METHOD(メソッド):GET(ゲット)
SCHEMA(スキーマ):https://www.worksapis.com/v1.0/contacts
HEADERS:Authorization:Bearer+半角SP+取得したAccess Tokenを指定
クエリパラメータ:
- count=100 ※取得するリストの件数を指定(例では最大100件まで取得するように指定)
クエリパラメータはほかにもたくさんありますが、今回は件数だけを指定して実行します。
※そのほかのクエリパラメータについては、公式ドキュメントを参照してください。
LINE WORKS Developers公式「連絡先リストの取得」
手順④パラメータを指定したらSendをクリックして、連絡先取得のGETメソッドを実行します。
実行した結果、以下のようにRESPONSE=200で、ContactsのJSONに値が返却されていればOKです。
(補足)参考URL
今回利用したAPIは、Contact(アドレス帳)取得のものですが、それ以外のAPIを検証してみたい場合は、公式サイトのAPIの利用ドキュメントが提供されているので、そちらを参考にしてください。
LINE WORKS 公式サイト「API2.0 ドキュメント Introduction」
まとめ
今回は、Talend API Testerを使ったLINE WORKS のREST APIの利用方法を説明しました。
LINE WORKSが提供しているAPIはほかにもたくさんあるので、今回ご説明した手順で検証してみてください。