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

目次

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

アプリのグラフの設定を取得します。
同名のグラフがアプリに存在する場合、この 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": "ラジオボタン"
        }
      ],
      "aggregations": [
        {
          "type": "COUNT"
        }
      ],
      "filterCond": "",
      "sorts": [
        {
          "by": "TOTAL",
          "order": "DESC"
        }
      ],
      "periodicReport": null
    },
    "様々なグラフの設定": {
      "id": "7321",
      "chartType": "TABLE",
      "name": "様々なグラフの設定",
      "index": "1",
      "groups": [
        {
          "code": "ラジオボタン"
        },
        {
          "code": "作成日時",
          "per": "YEAR"
        },
        {
          "code": "時刻",
          "per": "MINUTE"
        }
      ],
      "aggregations": [
        {
          "type": "COUNT"
        },
        {
          "type": "SUM",
          "code": "数値"
        },
        {
          "type": "AVERAGE",
          "code": "計算"
        },
        {
          "type": "MAX",
          "code": "作成日時"
        },
        {
          "type": "MIN",
          "code": "時刻"
        }
      ],
      "filterCond": "レコード番号 = \"1\" and リッチエディター 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": "ラジオボタン"
        }
      ],
      "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);