はじめに
2015年7月12日のアップデートにより、追加・変更されるkintone APIをドキュメントに反映いたしました。
追加・変更されるAPIについては、2015年7月12日のアップデート完了後に利用できる旨を記載しております。アップデートまではご利用になれませんのでご注意ください。
また、アプリ管理機能のAPIが追加されたことにより、kintone API カテゴリの分類を一部変更いたしました。
新しくREST API (レコード)を新設し、探したい情報にたどり着きやすくしております。
以下にアップデート情報を記載しております。詳細は各APIのドキュメントをご覧ください。
引き続きcybozu.com developer networkをよろしくお願いいたします。
kintone JavaScript API
機能が追加されるAPI
下記のイベントで非同期処理の終了を待ってイベントを実行することができるようになります。非同期処理の終了を待ってイベントを実行するにはイベントハンドラでPromiseオブジェクトをreturnします。
- レコード追加画面の保存実行前イベント
- レコード編集画面の保存実行前イベント
- レコード一覧画面の「保存ボタン」クリック時イベント
- レコード詳細画面の削除前イベント
- レコード一覧画面のレコード削除前イベント
- プロセス管理のアクションイベント
また、下記のメソッドのcallbackを省略することで、Promiseオブジェクトが返されるようになります。
変更される仕様
- kintone REST APIリクエストのヘッダーに、X-HTTP-Method-Override を指定できるようになります。これにより、リクエストURIが長くなった場合に発生するエラー(Request URI Too Large)を回避することができます。
改修される不具合
- 下記の条件をすべて満たした場合、エラーが画面に表示され、実行したAPIの返り値を取得できない。
改修後はAPIの返り値を正常に取得できます。 - 新デザインを利用している
- カスタマイズビューを使用し、「ページネーションを表示する」のチェックをはずしている
- カスタマイズビューのレコード一覧画面表示後イベントで、kintone.app.getQuery、もしくはkintone.app.getQueryConditionを実行する
- プロセス管理のアクションイベントで下記の操作をした場合、エラーが表示されずステータスが更新されてしまう。
改修後はエラーが表示され、ステータスが更新されなくなります。 - 編集権限のないフィールドの値を書き換えてeventオブジェクトをreturnした場合
- フィールドのtypeプロパティを削除して、eventオブジェクトをreturnした場合
- 存在しないフィールドコードを指定して、eventオブジェクトをreturnした場合
- プロセス管理のアクションイベントで任意のフィールドにerrorプロパティを設定してeventオブジェクトをreturnした場合、エラーが表示されてステータスの変更ができない。
改修後は設定した各フィールドerrorプロパティは無視され、ステータスが更新されるようになります。 - レコード編集画面等で、ドロップダウンフィールドの値を削除済みの選択肢に指定するとエラーが発生する。
改修後は画面操作と同じく、削除済みの選択肢の値を指定できるようになります。 - プラグインの設定画面で、関連レコード一覧の参照先のアプリIDを取得するを実行するとエラーになり、返り値を取得できない。
改修後は正常に返り値を取得できるようになります。
kintone REST API
新規追加されるAPI
- レコードのステータスの更新
- アプリの作成と設定の変更
- アプリの設定の運用環境への反映
- 一般設定の取得
- 一般設定の変更
- フォームの設定の取得
- フォームの設定の変更
- 一覧の設定の取得
- 一覧の設定の変更
- アプリのアクセス権の取得
- レコードのアクセス権の取得
- フィールドのアクセス権の取得
- JavaScript / CSSカスタマイズ設定の取得
- JavaScript / CSSカスタマイズ設定の変更
機能が追加されるAPI
下記のAPIで機能が追加されます。詳細はリンク先のページをご参照ください。
- アプリのアクセス権の変更
- テスト環境のアプリを更新する場合のAPIが追加されます
- レコードのアクセス権の変更
- テスト環境のアプリを更新する場合のAPIが追加されます
- 「app」パラメータが指定できるようになります
- フィールドのアクセス権の変更
- テスト環境のアプリを更新する場合のAPIが追加されます
- 「app」パラメータが指定できるようになります
- アプリ情報の取得
- アプリ情報の一括取得のパラメータ「name」で標準のアプリ名に加えて、API実行ユーザーの表示言語のアプリ名でも指定できるようになります
- レコードの一括取得API
- 一度に出力できるレコードの上限数が100から500に変更されます。(limitを指定しない場合の上限数は100のままです)
- リクエストパラメータにtotalCountを指定することで、queryパラメータに指定した条件に当てはまるレコードの件数を取得できるようになります。
改修される不具合
- レコードの登録/更新API、レコードの一括登録/更新APIで、ユーザー選択フィールドにユーザーを追加すると並び順が不定になる。
改修後は送信されたJSONデータに設定された順番に上から下に並びます。
//user2, user1, user3 の順でユーザー選択フィールドに追加するサンプル var reqObj = { app: 1, record: { ユーザー選択: { value: [ {code:'user2'}, {code:'user1'}, {code:'user3'} ] } } }; kintone.api( '/k/v1/record', 'POST', reqObj, function(resp) {alert('登録に成功しました');}, function(resp) {alert('登録に失敗しました');} );
変更されるエラーメッセージ
※2015/6/4: 変更されるエラーメッセージを一部修正しました(修正部分には取り消し線を引いています)
- レコード一括取得APIで、絞込み条件にグループを指定した場合のエラー
改修前 {
"message": "不正なリクエストです。",
"id": "1505999166-279604489",
"code": "CB_IL02"
}改修後 {
"message":"絞り込み条件にグループフィールドのフィールドタイプは使用できません。",
"message":"フィールド「グループ」のタイプのフィールドは、絞り込み条件に使用できません。",
"id":"1505999166-1789425196",
"code":"GAIA_IQ13"
} - レコード一括取得APIで、絞込み条件にカテゴリーを指定した場合のエラー
改修前 {
"message": "カテゴリーフィールドのフィールドタイプには演算子inを使用できません。",
"id": "1505999166-279589290",
"code": "GAIA_IQ03"
}改修後 {
"message":"絞り込み条件にカテゴリーフィールドのフィールドタイプは使用できません。",
"message":"フィールド「カテゴリー」のタイプのフィールドは、絞り込み条件に使用できません。",
"id":"1505999166-1789562231",
"code":"GAIA_IQ13"
} - レコード一括取得API、レコードのアクセス権更新APIで、絞込み条件にテーブルのフィールドコードを指定した際のエラー
改修前 {
"message": "指定されたフィールド(Table)が見つかりません。",
"id": "1505999166-1795162612",
"code": "GAIA_IQ11"
}改修後 {
"message": "絞り込み条件にTableフィールドのフィールドタイプは使用できません。",
"message":"フィールド「Table」のタイプのフィールドは、絞り込み条件に使用できません。",
"id": "1505999166-1795140235",
"code": "GAIA_IQ13"
} - レコード一括取得APIで、ソート条件に「関連レコード一覧.参照するフィールド」を指定した際のエラー
改修前 {
"message": "指定されたフィールド(関連レコード一覧.数値)が見つかりません。",
"id": "1505999166-1260595130",
"code": "GAIA_IQ11"
}改修後 {
"message":"関連レコード一覧フィールドは、レコードのソートに使用できません。",
"id":"1505999166-1271910864",
"code":"GAIA_IS03"
} - レコード一括取得APIで、ソート条件にテーブルのフィールドコードを指定した際のエラー
改修前 {
"message": "指定されたフィールド(Table)が見つかりません。",
"id": "1505999166-1795322271",
"code": "GAIA_IQ11"
}改修後 {
"message": "Tableフィールドのフィールドタイプは、ソートに使用できません。",
"message": "「Table」フィールドはソート条件に使用できません。",
"id": "1505999166-1795340746",
"code": "GAIA_IS02"
} - プロセス管理機能が無効化されているアプリにおいて、レコード一括取得APIの絞込み条件にステータスを「=」、「!=」演算子を使って指定した際のエラー
改修前 {
"message": "不正なリクエストです。",
"id": "1505999166-1796539342",
"code": "CB_IL02"
}改修後 {
"message": "操作に失敗しました。プロセス管理機能が無効化されています。",
"id": "1505999166-1796456711",
"code": "GAIA_ST02"
} - レコード一括更新APIで、recordsプロパティにnullを指定した際のエラー
改修前 {
"message": "不正なリクエストです。",
"id": "1505999166-1796539342",
"code": "CB_IL02"
}改修後 {
"message": "入力内容が正しくありません。",
"id": "1505999166-1798141618",
"errors": {
"records": {
"messages": [
"必須です。"
]
}
},
"code": "CB_VA01"
} - レコード一括更新APIで、recordsプロパティに空の配列を指定した際のエラー
改修前 {
"message": "不正なリクエストです。",
"id": "1505999166-1796539342",
"code": "CB_IL02"
}改修後 ※エラーが発生しません。
{
"records": []
} - ファイルダウンロードAPIで、fileKeyに指定された値が"-"を含む、またはfileKeyに指定された値が28文字以下の際に発生するエラー
改修前 {
"message": "不正なリクエストです。",
"id": "1505999166-1796539342",
"code": "CB_IL02"
}改修後 {
"message": "指定したファイル(id: 1234567890-1234567890-1234567)が見つかりません。",
"id": "1505999166-1799312673",
"code": "GAIA_BL01"
} - スペースの作成APIで、nameプロパティに129文字以上を指定した場合のエラー
改修前 {
"message": "不正なリクエストです。",
"id": "1505999166-1796539342",
"code": "CB_IL02"
}改修後 {
"message": "入力内容が正しくありません。",
"id": "1505999166-1797353977",
"errors": {
"name": {
"messages": [
"1文字以上、128文字以下である必要があります。"
]
}
},
"code": "CB_VA01"
}
記事に関するフィードバック
記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。