カテゴリー内の他の記事

2014/09/14 の定期メンテナンスにおけるAPI更新の事前情報(2回目)

フォローする

2014年9月14日の定期メンテナンスの、kintone API およびGaroon APIの更新に関する情報(2回目)をお知らせします。

初回の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(/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がログイン名と一致するユーザーが選択される。

  • APIトークンを使用してゲストスペース内のアプリにレコードを登録すると、そのアプリのレコード一覧画面を表示できなくなる。

追加される機能

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

リクエスト例:

// アプリIDが1、レコードIDが5のレコード情報を取得してレコード番号を出力する場合
kintone.api('https://(サブドメイン名).cybozu.com/k/v1/record.json', 'GET', {app: 1, id: 5}, function(resp) {
   console.log(resp['record']['レコード番号']['value']);
);
  • URLを取得するAPIに引数を追加
    引数にtrueを指定すると、次の画面でAPIを実行した場合に、REST APIの実行に必要なゲストスペース用のエンドポイントが返されます。
    • ゲストスペース内の画面
    • ゲストスペース内のアプリの通知を開いた画面

リクエスト例:

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

// 出力結果:
// "https://(サブドメイン名).cybozu.com/k/guest/1/v1/record.json"


// QueryString付きのURLを取得する場合
var urlForGet = kintone.api.urlForGet('/k/v1/records', {app:1,fields:["レコード番号"]}, true);
console.log(decodeURIComponent(urlForGet));

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

<< 2014.9.14 の定期メンテナンスにおけるAPI更新の事前情報(1回目)

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。
Powered by Zendesk