アプリのグラフの設定を取得する

目次

アプリのグラフの設定を取得する

アプリのグラフの設定を取得します。
同名のグラフがアプリに存在する場合、このAPIを実行するとエラーが発生します。

URL

URLは、運用環境の設定を取得する場合と、動作テスト環境の設定を取得する場合とで異なります。

運用環境の設定を取得する場合
通常のアプリ
https://sample.cybozu.com/k/v1/app/reports.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/app/reports.json
動作テスト環境の設定を取得する場合
通常のアプリ
https://sample.cybozu.com/k/v1/preview/app/reports.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/preview/app/reports.json

HTTPメソッド

GET

必要なアクセス権

  • アプリ管理権限

リクエスト

パラメーター
パラメーター名 必須 説明
app 数値または文字列 必須 アプリID
lang 文字列 省略可 取得する名称の言語
フィールドや選択肢の名前に言語ごとの名称を設定している場合に指定します。
言語ごとの名称 (External link)
  • ja:日本語
  • en:英語
  • zh:中国語
  • user:APIを実行するユーザーが表示言語に設定している言語
    言語設定が「Webブラウザーの設定に従う」の場合、「Accept-Language」ヘッダーの有無によって、取得する言語が変わります。
    • ヘッダーあり:「Accept-Language」ヘッダーで指定した言語
    • ヘッダーなし:cybozu.com共通管理のロケールの設定で設定した言語
      ロケールの設定 (External link)
  • default:デフォルト
省略すると、デフォルトの名称を取得します。
リクエストの例(URLにパラメーターを含める場合)
URL

https://sample.cybozu.com/k/v1/app/reports.json?app=1&lang=ja

ヘッダー
1
2
3
{
  "X-Cybozu-API-Token": "API_TOKEN"
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

リクエストの例(リクエストボディにパラメーターを含める場合)
URL

https://sample.cybozu.com/k/v1/app/reports.json

ヘッダー
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

ボディ
1
2
3
4
{
  "app": "1",
  "lang": "ja"
}

レスポンス

プロパティ
プロパティ名 説明
reports オブジェクト グラフの情報
reports.グラフ名 オブジェクト 各グラフの情報
グラフ名はAPIを実行するユーザーの表示言語の設定にかかわらず、常にデフォルトの名称が返ります。
reports.グラフ名.chartType 文字列 グラフの種類
  • BAR:横棒グラフ
  • COLUMN:縦棒グラフ
  • PIE:円グラフ
  • LINE:折れ線グラフ
  • PIVOT_TABLE:クロス集計表
  • TABLE:表
  • AREA:面グラフ
  • SPLINE:曲線グラフ
  • SPLINE_AREA:曲線面グラフ
reports.グラフ名.chartMode 文字列 グラフの表示モード
  • NORMAL
    • chartTypeが「BAR」または「COLUMN」の場合:集合
    • chartTypeが「AREA」または「SPLINE_AREA」の場合:積み上げなし
  • STACKED:積み上げ
  • PERCENTAGE:100%積み上げ
chartTypeが「BAR」「COLUMN」「AREA」「SPLINE_AREA」のときだけ返ります。
reports.グラフ名.id 文字列 グラフID
reports.グラフ名.name 文字列 グラフ名
langを指定した場合は、APIを実行するユーザーの表示言語の名称が返ります。
reports.グラフ名.index 文字列 グラフの並び順
0から始まります。
reports.グラフ名.groups 配列 分類する項目の一覧
設定されている項目だけ返ります。順番は上から大項目、中項目、小項目です。
reports.グラフ名.groups[].code 文字列 分類する項目のフィールドコード
reports.グラフ名.groups[].per 文字列 分類する項目の時間単位
  • YEAR:年単位
  • QUARTER:四半期単位
  • MONTH:月単位
  • WEEK:週単位
  • DAY:日単位
  • HOUR:1時間単位
  • MINUTE:分単位
groups[].codeで次のフィールドが指定されたときだけ返ります。
  • 作成日時
  • 更新日時
  • 日時
  • 日付:「YEAR」「QUARTER」「MONTH」「WEEK」「DAY」 の場合のみ
  • 時刻:「HOUR」「MINUTE」の場合のみ
「--」(単位なし)が設定されている場合、最小の時間単位が返ります。
reports.グラフ名.aggregations 配列 集計方法の一覧
reports.グラフ名.aggregations[].type 文字列 集計方法の種類
  • COUNT:レコード数
  • SUM:合計
  • AVERAGE:平均
  • MAX:最大
  • MIN:最小
reports.グラフ名.aggregations[].code 文字列 集計対象のフィールドコード
aggregations[].typeが「COUNT」のときは返りません。
reports.グラフ名.filterCond 文字列 絞り込み条件
クエリ形式で表されます。クエリ形式の詳細は次のページを参照してください。
クエリの書き方
削除済みのユーザー/組織/グループが指定されている場合は、エラーが返ります。
reports.グラフ名.sorts 配列 ソートの一覧
reports.グラフ名.sorts[].by 文字列 ソートの対象
  • TOTAL:集計値
  • GROUP1:大項目
  • GROUP2:中項目
  • GROUP3:小項目
reports.グラフ名.sorts[].order 文字列 ソートの並び順
  • ASC:昇順
  • DESC:降順
reports.グラフ名.periodicReport オブジェクト 定期レポートの設定
定期レポートが設定されていない場合は 「null」が返ります。
reports.グラフ名.periodicReport.active 真偽値 定期レポートの実行状態
  • true:実行中
  • false:停止中
reports.グラフ名.periodicReport.period オブジェクト 定期レポートの集計間隔
reports.グラフ名.periodicReport.period.every 文字列 定期レポートの集計間隔の種類
  • YEAR:毎年
  • QUARTER:毎四半期
  • MONTH:毎月
  • WEEK:毎週
  • DAY:毎日
  • HOUR:毎時
reports.グラフ名.periodicReport.period.month 文字列 集計を実施する月
値は1から12の整数です。
periodicReport.period.everyが「YEAR」のときだけ返ります。
reports.グラフ名.periodicReport.period.time 文字列 集計を実施する時刻
フォーマットは「HH:mm」形式です。
periodicReport.period.everyが「YEAR」「QUARTER」「MONTH」「WEEK」「DAY」のときだけ返ります。
reports.グラフ名.periodicReport.period.pattern 文字列 四半期の集計を実施する月
  • JAN_APR_JUL_OCT: 1月、4月、7月、10月
  • FEB_MAY_AUG_NOV: 2月、5月、8月、11月
  • MAR_JUN_SEP_DEC: 3月、6月、9月、12月
periodicReport.period.everyが「QUARTER」のときだけ返ります。
reports.グラフ名.periodicReport.period.dayOfMonth 文字列 集計を実施する日
  • 1から31までの整数
  • END_OF_MONTH:月末
    periodicReport.period.everyが「QUARTER」「MONTH」のとき
periodicReport.period.everyが「YEAR」「QUARTER」「MONTH」のときだけ返ります。
reports.グラフ名.periodicReport.period.dayOfWeek 文字列 集計を実施する曜日
  • SUNDAY
  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
periodicReport.period.everyが「WEEK」のときだけ返ります。
reports.グラフ名.periodicReport.period.minute 文字列 集計を実施する分
  • 0
  • 10
  • 20
  • 30
  • 40
  • 50
periodicReport.period.everyが「HOUR」のときだけ返ります。
revision 文字列 アプリの設定のリビジョン番号
レスポンスの例
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
{
  "reports": {
    "初期設定": {
      "id": "7319",
      "chartType": "BAR",
      "chartMode": "NORMAL",
      "name": "初期設定",
      "index": "0",
      "groups": [
        {
          "code": "ラジオボタン_0"
        }
      ],
      "aggregations": [
        {
          "type": "COUNT"
        }
      ],
      "filterCond": "",
      "sorts": [
        {
          "by": "TOTAL",
          "order": "DESC"
        }
      ],
      "periodicReport": null
    },
    "様々なグラフの設定": {
      "id": "7321",
      "chartType": "TABLE",
      "name": "様々なグラフの設定",
      "index": "1",
      "groups": [
        {
          "code": "ラジオボタン_0"
        },
        {
          "code": "作成日時_0",
          "per": "YEAR"
        },
        {
          "code": "時刻_0",
          "per": "MINUTE"
        }
      ],
      "aggregations": [
        {
          "type": "COUNT"
        },
        {
          "type": "SUM",
          "code": "数値_0"
        },
        {
          "type": "AVERAGE",
          "code": "計算_0"
        },
        {
          "type": "MAX",
          "code": "作成日時_0"
        },
        {
          "type": "MIN",
          "code": "時刻_0"
        }
      ],
      "filterCond": "レコード番号 = \"1\" and リッチエディター_0 like \"aaa\"",
      "sorts": [
        {
          "by": "TOTAL",
          "order": "DESC"
        },
        {
          "by": "GROUP1",
          "order": "ASC"
        },
        {
          "by": "GROUP2",
          "order": "DESC"
        }
      ],
      "periodicReport": null
    },
    "定期レポートON": {
      "id": "7323",
      "chartType": "BAR",
      "chartMode": "NORMAL",
      "name": "定期レポートON",
      "index": "2",
      "groups": [
        {
          "code": "ラジオボタン_0"
        }
      ],
      "aggregations": [
        {
          "type": "COUNT"
        }
      ],
      "filterCond": "",
      "sorts": [
        {
          "by": "TOTAL",
          "order": "DESC"
        }
      ],
      "periodicReport": {
        "active": true,
        "period": {
          "every": "QUARTER",
          "pattern": "JAN_APR_JUL_OCT",
          "dayOfMonth": "END_OF_MONTH",
          "time": "23:30"
        }
      }
    }
  },
  "revision": "77"
}

サンプルコード

curlを使ったリクエスト
1
2
3
4
5
6
curl -X GET 'https://sample.cybozu.com/k/v1/app/reports.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1
  }'
kintone REST APIリクエストを送信するAPIを使ったリクエスト
1
2
3
4
5
6
const body = {
  app: kintone.app.getId(),
  lang: 'ja'
};

await kintone.api(kintone.api.url('/k/v1/app/reports.json', true), 'GET', body);