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で動作を確認しています。