3
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

LINE WORKS の Service API を postman で試す方法

既にご存じの方もござりましょうが。

LINE WORKS の API には Service APIServer API の2種類があります。
トークとかドライブとか、ログインしたユーザのデータにアクセスする API が Service API
組織連携とかトーク Bot とか、すべてのユーザのデータにアクセスする API が Server API

今回は、Service API を Postman で検証する方法を紹介したいと思います。

Service API の使い方

Service API を使うには、次の 3 STEP が必要です。

  1. Service API Authorization Code の発行
  2. Service API Access Token の発行
  3. 利用したい Service API を Request

詳細は公式ドキュメントにて。

Service API Authorization Code の発行

まずは Postman の画面を見てくださいな。

1572329360.png

では、補足をば。

  • method は GET を指定
  • URL は、最初は https://auth.worksmobile.com/ba/{API ID}/service/authorize と入力。
  • 入力するところは Params タブだけです。Header Body の記入は不要です。
  • {API ID} には DeveloperConsole で確認した API ID を入力。{} は不要です。
  • client_id には DeveloperConsole で確認した Service API Consumer Key を入力。
  • redirect_uri には https://contact.worksmobile.com/v2/admin/member/management と入力。(管理画面に redirect されるように設定しています)
  • domain には自分のドメイン名を。アカウント ID の @ マーク以降です。
  • state は正直何を入れてもいいですが、CSRF 対策なので neverdocsrf と入力しています。

ここまで入力すると、URL が自動生成されます。
こんな感じの URL です。
https://auth.worksmobile.com/ba/apiid/service/authorize?client_id=Service API Consumer Key&redirect_uri=https://contact.worksmobile.com/v2/admin/member/management&domain=domainName&state=neverdocsrf

この URL をブラウザに入力します。
すると、ログイン画面が表示されるので、自分のアカウントでログインします。
image.png

ログインすると管理者画面に遷移します。
ここで、URL に注目してください。
1572330952.png

https://contact.worksmobile.com/v2/admin/member/management?code=U0lrNTV1NEtNeW9pUkl0Rg==&errorCode=00&state=neverdocsrf
となっています。
この code=U0lrNTV1NEtNeW9pUkl0Rg==Service API Authorization Code になります。
もちろん、毎回違うコードが発行されますから、このコードは使えませんよ!(^×^)

これが GET できたら次の STEP に進みます。

Service API Access Token の発行

次の Postman の画面を貼りますよっと (ノ∀`*)ペチ

1572331482.png

では、補足していきますよー。

  • method は GET を指定
  • URL は、最初は https://auth.worksmobile.com/ba/{API ID}/service/token と入力。
  • 入力するところは Params タブだけです。Header Body の記入は不要です。
  • {API ID} には DeveloperConsole で確認した API ID を入力。{} は不要です。
  • client_id には DeveloperConsole で確認した Service API Consumer Key を入力。
  • code には先ほど GET した Service API Authorization Code を入力。
  • domain には自分のドメイン名を。アカウント ID の @ マーク以降です。

内容はさっきとほぼ同じですね。
しかし、今度は Postman の Send ボタンを押して Request します。

成功すると以下のような内容が返ってきます。

{
    "errorCode": "00",
    "expire_in": "31536000",
    "refresh_token": "AAAAWJ3cyj8Weg.......==",
    "access_token": "AAAAv1VwqZqlt.......=="
}

この access_tokenService API Access Token になります。

余談ですが、私は最初 errorCode が返ってきてるのでエラーになったのかと思いました。
いや、成功してるんですけどね。error って文字は見えるとつい・・・早とちりしてました(*´Д`)

では、Service API Access Token も手に入ったので、何か Service API を Request してみましょうか!(=゚ω゚)ノ

利用したい Service API を Request

何がいいですかねー?('ω')
んー・・・

では、地味に叩く機会のある Drive API のユーザー情報閲覧 API を使ってみましょうか!( ゚Д゚)
https://developers.worksmobile.com/jp/document/1008002?lang=ja

1572332862.png

  • method は POST を指定
  • URL は、https://apis.worksmobile.com/{API ID}/drive/getUserInfo/v1 と入力。
  • {API ID} には DeveloperConsole で確認した API ID を入力。{} は不要です。
  • Authorization タブを選んで TYPEBearer Token にします~。
  • Token に先ほどの Service API Access Token を入力!

そしたら次は Headers の設定ですね~。

1572333091.png

  • なんと consumerKey だけです。( ゚Д゚)
  • consumerKey には DeveloperConsole で確認した Service API Consumer Key を入力。

Drive API のユーザー情報閲覧 API は Bodyが不要なので、これでおしまいです。

Send ボタンを押して Request します。

成功すると以下のような内容が返ってきます。

{
    "message": "success",
    "result": {
        "userId": "xxxxxxxxxxxxxx",
        "userIdx": xxxxxxxx,
        "cmsDomain": "xxx-xxxx.xxxxx.xxxxxxxxxx.com",
        "usePrivateFolder": true,
        "isReadOnly": false,
        "useDocIndex": true,
        "useDocViewer": true,
        "useMobileDownload": true
    },
    "code": "0"
}

一応、伏字にさせていただきました!(*‘∀‘)ドヤァ

こんな感じで Service API Consumer Key さえ GET できてしまえば、Service APIServer API と同じように Postman で利用することができます。
ちょっとめんどい印象ですが、一回やってしまえばそんなに難しくないですよ~。

おわりに

ここまでお付き合いいただきありがとうございました。

今回はスクショをいっぱい入れてみましたよ!
少しは丁寧な記事になったでしょうか?

実際に Service API を使うときは SSO してからになると思うのですが、その前にちょっといじってみたいんだよねー。的なときには Postman が本当に便利です。
Please Mr.Postman ~♪

次は何を書こうかな~。
ではまた!(^^)/

参考にさせていただきましたm(_ _)m

Postman 公式
LINE WORKS Developers

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
3
Help us understand the problem. What are the problem?