API Call
LINE WORKS API 2.0 は、OAuth 2.0に基づいたREST APIを提供します。
Access Token
APIを呼び出す際は、HTTP Headerに以下の形式でAccess Tokenを指定する必要があります。
Authorization: Bearer {Access Token}
Access Tokenの前に'Bearer'を必ず明示します。'Bearer'と'Access Token'の間には半角スペースを必ず含めてください。
Access Token取得する方法は「Service Account認証 (JWT)」と「User Account認証 (OAuth)」を参照してください。
HTTP Method
すべてのAPIの呼び出しは、HTTP MethodとURLの組み合わせです。 該当するリソースの操作(何をするか)を表すもので、LINE WORKS API 2.0では5つのHTTP Methodを使用します。
GET : リソースの取得
データ取得したり、ファイルをダウンロードするAPIに使用されます。
POST : リソースの登録
データを登録したり、botメッセージ送信、ファイルアップロードなど、フォームデータ送信するAPIに使用されます。
PUT : リソースの更新
データの置き換えなど、データを更新するAPIに使用されます。
PATCH : リソースの部分更新
データの一部を更新するAPIに使用されます。
DELETE : リソースの削除
データを削除するAPIに使用されます。
注意
POST, PUT, PATCHを使用して、Request BodyにJSON形式を指定する場合はHTTP Headerに以下の「Content-Type」を追加します。
Content-Type: application/json; charset=UTF-8
End Point (URL)
LINE WORKS API 2.0のEnd Pointは以下の通りです。
https://www.worksapis.com/v1.0/...
例えば、アドレス帳で連絡先リストの取得するAPIの呼び出しは以下の通りです。
GET /v1.0/contacts
Host: www.worksapis.com
authorization: Bearer AAAA67h9/36ItvAEea7G8ijrDeCy/22BO5IcP0/KkwZO6unIYET6xkmp3RLW
LINE WORKS API 2.0を呼び出す一連のフローでは認証、承認、監査が含まれます。認証でAPIを利用するユーザーの資格情報を確認し、承認では作業範囲を定めます。作業ログは管理者画面の「監査 / ログ」で確認することができます。
meキーワード
一部のAPIではpathの「userId」の代わりに「me」キーワードを利用することができます。「me」キーワードを利用すると認証されたユーザーのトークンを利用してAPIの呼び出しが可能になります。例えば、ログインしたユーザーの「userId」を利用する場合、下記のAPIリクエストでは同じレスポンスを取得します。
- GET /v1.0/users/me/calendar
- GET /v1.0/users/{userId}/calendar
APIの並列呼び出しについて
同一リソースに対する同時書き込みリクエスト (POST/PUT/PATCH/DELETE) は行わないでください。
APIリファレンス
APIリファレンスとは、APIの情報を網羅した公式ドキュメントの事を指します。概念的な概要、用語の定義、回避策、および作業コードの例など、より詳細な開発者向けの説明が含まれているので、APIを利用する前に必ず参照してください。各APIリファレンスでは以下の用語が利用されます。
説明
- 概要、注意、前提条件
認証情報
- 認証またはトークン取得情報、scope
Request情報
- Parameter : path, query, header
- method, path, schema, example
注意
Query Parameter値はURLエンコードする必要があります。 ex)
GET https://www.worksapis.com/v1.0/search/events?dateTime=2021-07-16T19%3A20%3A30%2B09%3A00 (2021-07-16T19:20:30+09:00をURLエンコード)
Response情報
- HTTP status code, schema, example
用語
APIリファレンスではschemaでのバリデーションを表示するため、以下のような用語を利用します。
- type : データタイプ
- string : 文字列
- number : 数値
- integer : 整数値
- boolean : 真偽値
- array : 配列
- object : オブジェクト
- 文字列
- maxLength : 最大桁数
- minLength : 最小桁数
- 数値または整数値
- maximum : 最大値(境界値を含む)
- maximum : 最小値(境界値を含む)
- 配列
- maxItems : 最大要素数
- minItems : 最小要素数
- その他
- default : 既定値
- required : 必須
- enum : 列挙型
- example : 例
- pattern : パターン
- format : フォーマット
- writeOnly : 書き込み専用
- readOnly : 読み取り専用
- nullable : Null許容
- unique : 一意