2014/09/14

ート情報の定期メンテナンスにおけるアップデ

年 月14日に実施した定期メンテナンスを実施しました。
事前情報でお知らせしたkintone APIの変更点のほかに、次の変更が適用されています。
2014 9kintone API SDK(β) for Java

指定したアプリの情報を取得するAPIに対応しました。
公開済みの kintone API SDK(β) for Java を再取得してください。
kintone JavaScript API

改修された不具合
空の配列またはオブジェクトをパラメータに指定してkintone APIを実行すると、Webブラウザを操作できなくなる。
※以降は、事前情報でお知らせしたkintone APIの変更点です。
kintone REST API

改修された不具合

次のAPIで、「rights[].entities[].entity.code」パラメータに、テーブル内のユーザー選択フィールドを指定できない。
レコードのアクセス権を更新するAPI
フィールドのアクセス権を更新するAPI
0以下のidを指定して、フィールドのアクセス権を更新するAPI（/k/v1/field/acl.json）を実行した
場合に、表示されるエラーが正しくない。
改修前のエラーメッセージ：指定したアプリ(id:XX)が見つかりません。削除されている可能性があります。
改修後のエラーメッセージ：入力内容が正しくありません。最小でも1以上です。
存在しないフィールドの値を指定すると、レコードを一括操作するAPI（/k/v1/records.json）の実行に失敗する。
改修前の動作：エラーになり、実行されない。

改修後の動作：エラーにならず、存在するフィールドに対する操作は完了する。
トークンを使用してゲストスペース内のアプリにレコードを登録すると、そのアプリのレコード一覧画面を表示できなくなる。

API

変更された仕様

レコードのアクセス権を更新するAPI（/k/v1/record/acl.json）で、filterCondパラメータの指定に次の関数を使用できないように変更
NOW()
TODAY()
LAST_MONTH()
THIS_MONTH()
THIS_YEAR()※上記の関数を使用した設定が正しく動作しないことによる、仕様変更です。
kintoneの画面上では、2014年7月13日のアップデートで、同様の条件を設定できないよう変更されています。
なお、アップデート前に指定した設定は、アップデート後も維持されます。
ただし、設定が正しく動作しないため、期待したアクセス権が適用されない場合があります。

追加された機能指定したアプリの次の情報を取得するAPI
ID
アプリコード名前
説明
所属するスペースのID所属するスレッドのID
作成日時
作成者（ログイン名と表示名）
更新日時
更新者（ログイン名と表示名）※スペース内のアプリではない場合、所属するスペースのIDとスレッドのIDはnullになります
リクエスト例：
アプリ が のアプリ情報を取得する場合//
ID 1
kintone.api('/k/v1/app', 'GET', { "id": 1 }, function (resp) {console.log(resp)});アプリ が と のアプリ情報を一括して取得する場合//
ID 1 2
kintone.api('/k/v1/apps', 'GET', { "ids": [1,2] }, function (resp) {console.log(resp)});

レスポンス例：件ずつ取得した場合// 1{"appId": "1","code": "","name": "",

アプリ

アプリです

"description": "","spaceId": "2","threadId": "3","createdAt": "2014-05-02T05:14:05.000Z",

"creator": {"code": "","name": ""},
"modifiedAt": "2014-06-02T05:14:05.000Z","modifier": {"code": "user1","name": "user1"}}//{

一括で取得した場合"apps": [{"appId": "1","code": "BAR","name": "MyTestApp","description": """spaceId": null,"threadId": null,"createdAt": "2014-06-02T05:14:05.000Z","creator": {"code": "user1","name": "user1"},"modifiedAt": "2014-06-02T05:14:05.000Z","modifier": {"code": "user1","name": "user1"}},{"appId": "2","code": "FOO","name": "TEST","description": """spaceId": "123","threadId": "456","createdAt": "2014-06-03T05:14:05.000Z","creator": {"code": "user2","name": "user2"},"modifiedAt": "2014-06-03T05:14:05.000Z","modifier": {"code": "user2","name": "user2"}}]}

kintone JavaScript API

改修された不具合
スマートフォンのレコード追加／編集画面で、ユーザー選択フィールドの値を編集すると、指定したcodeがログイン名と⼀致するユーザーが選択されない不具合を改修。
改修前の動作：指定したcodeが表示名と一致するユーザーが選択される。
改修後の動作：指定したcodeがログイン名と一致するユーザーが選択される。

変更された仕様

フィールド形式 の次のフィールドで、ゲストユーザーが含まれている場合、"code" に "guest/" が含まれるようになります。

ユーザー選択フィールド
作成者フィールド
更新者フィールド
ユーザー選択フィールドで、ゲストユーザーのログイン名が "sato@cybozu.com" の例
フィールドコード>": {"<"type": "USER_SELECT","value": [{"code": "sato@cybozu.com","name": "Noboru Sato"}]

変更前}

フィールドコード>": {"<"type": "USER_SELECT","value": [{"code": "guest/sato@cybozu.com","name": "Noboru Sato"}]

変更後}追加された機能

ゲストユーザーが、kintoneに読み込んだJavaScriptでREST APIを使用する機能
ゲストユーザーは次の処理を実行できます。
レコードの取得
レコードの登録
レコードの更新
レコードの削除
フォーム設計情報の取得
アプリ情報の取得
ファイルのダウンロード
ファイルのアップロード
kintone.apiの第1引数に、httpsから始まるURLで、実行するREST APIのエンドポイントを指定する機能
kintone.apiは、REST APIのリクエストを送信する関数です。
リクエスト例：//

アプリIDが1、レコードIDが5のレコード情報を取得してレコード番号を出力する場合
サブドメイン名).cybozu.com/k/v1/record.json', 'GET', {app: 1, id: 5}, function(resp) {console.log(resp['record']['レコード番号']['value']);kintone.api('https://();

を取得するAPIに引数を追加
引数にtrueを指定すると、次の画面でAPIを実行した場合に、REST APIの実行に必要なゲストスペース用のエンドポイントが返されます。
ゲストスペース内の画面
ゲストスペース内のアプリの通知を開いた画面
リクエスト例：
URL

スペース が のスペースで実行する場合//ID 1
var url = kintone.api.url('/k/v1/record', true);console.log(url);//

出力結果：サブドメイン名).cybozu.com/k/guest/1/v1/record.json"// "https://(付きのURLを取得する場合// QueryString

レコード番号"]}, true);var urlForGet = kintone.api.urlForGet('/k/v1/records', {app:1,fields:["
console.log(decodeURIComponent(urlForGet));
//

出力結果：

// https://example.cybozu.com/k/guest/1/v1/records.json?app=1&fields[0]=レコード番号