API トークンを使ってみよう

著者名:小林 大輔(サイボウズ kintone 開発チーム)

目次

「API トークン」とは

kintone の API トークンとは、アプリごとに発行できる「トークン」と呼ばれる文字列です。
この文字列を REST API のリクエストヘッダーに付けることで、REST API を実行できます。
従来の REST API の実行方法に比べて、API トークンを使った REST API の実行方法はさまざまなメリットがあります。

メリット1:ユーザ ID とパスワードが必要ない

従来の REST API の実行方法では、ユーザ ID とパスワードを REST API を実行するシステムに保存しておく必要がありました。
これではパスワードを変更することが難しくなりますし、REST API を実行するシステムからユーザ情報が漏洩するリスクも発生してしまいます。
API トークンで REST API を実行する際にはユーザ ID とパスワードは必要ないので、よりセキュアになります。

メリット2:限られたアプリにのみ、REST API を実行できる

API トークンは、アプリごとに作成され、作成されたアプリに対してのみ REST API を実行できます。
これによって、誤ったアプリを操作してしまうといった誤動作を防ぐことができます。

メリット3:実行できる REST API の種類を制限できる

API トークンは、実行できる REST API の種類を制限できます。
たとえば「アプリのレコード取得 API を実行できるが、レコード更新 API は実行できない」といった設定が可能です。
これによって意図しない API を実行してしまうといった問題を防ぐことができます。
また、万が一 API トークンが漏洩してしまった場合に、不正操作のリスクを最小限に抑えることができます。

API トークンの作成

今回は、以下の手順を参考に API トークンを実際に作成し、レコード一括取得 API を実行してみましょう。

  1. まずはアプリ管理画面を開きます。

  2. アプリ管理画面の中にある「設定」タブをクリックし、表示された「カスタマイズ/サービス連携」メニューにある「API トークン」をクリックしましょう。
    以下のような画面が表示されます。

  3. 「生成する」ボタンを押すと、API トークンが 1 つ生成され、「アクセス権」の欄にいくつかのチェックボックスが表示されます。
    このチェックボックスを使って、作成した API トークンが実行できる API の種類を決めることができます。
    デフォルトでは「レコード閲覧」にチェックが入っており、レコードの取得 API のみ実行できるトークンになります。

  4. 今回はこの設定のまま「保存」ボタンを押し、「設定完了」ボタンを押してアプリを更新しましょう。

API トークンで REST APIを実行する

作成した API トークンを使ってみましょう。
以下のように curl コマンドで REST API を実行します。

1
curl -H "X-Cybozu-API-Token: {作成したAPIトークン}" "https://{ドメイン名}/k/v1/records.json?app=(アプリID)"

コマンドを実行すると、アプリに登録されているレコードが表示されます!
Basic 認証を設定している場合は、別途オプションが必要です。
詳細は、 curl コマンドのドキュメント (External link) の「-u オプション」を参照してください。

また、複数の API トークンを指定すると、ルックアップフィールドを含むアプリのレコード登録や更新、関連レコードの取得ができます。
詳しくは「 複数 API トークンを使ってできること」を参照してください。

おわりに

ご覧いただいたように、API トークンを使うことで、ユーザ ID やパスワードを使う必要がなくなり、よりセキュアに REST API を実行できます。
注意点としては、API トークンは REST API を実行するためのトークンなので、JavaScript API 内では利用できません。

ぜひ API トークンを使ってみてください!

information

この Tips は、2014 年 6 月版 kintone で動作を確認しています。