kintoneのレコードを取得
この記事では、kintoneのレコードを一括取得する方法を紹介します。
アクションの実行には、kintoneのコネクションが必要です。
kintoneコネクションの登録方法については、以下をご参照ください。
参考:kintoneと連携する
Kintoneのレコードを取得する
kintoneGetRecords(レコードを一括取得する)アクションを使用することによって、kintoneのレコードが取得できます。
レコード取得時には、出力するフィールドを絞り込んだり、クエリによって条件を満たすレコードのみを出力したり、レコードの順番を並び替えたりすることも可能です。
以下より、方法を紹介します。
フィールドやクエリを指定しない場合、
以下の設定のみで、あるアプリの全レコード・全フィールドを出力できます。
- KintoneGetRecordsを設定します。
- プロバイダーIDを直接入力するか、ピッカーから選択します。
- アプリIDを直接入力するか、ピッカーから選択します。
- 直接入力する場合、アプリIDはアプリを開いたときのURLで確認できます


※ID直接入力の場合は以下部分を確認

出力するフィールドを絞り込むことも可能です。
「フィールド」に、出力したいフィールドコード(フィールド名ではありません)を配列形式でご入力ください。
ここでは、最初の画像のアプリから「都道府県」「行き先」フィールドのみを出力してみます。
※ただし、レコードidは必ず出力されます
- KintoneGetRecordsアクションの詳細設定を開きます。
- 「フィールド」に以下を入力します。
["都道府県","行き先"]


出力するフィールドを「都道府県」「行き先」とした上で、以下条件を満たすレコードのみを抽出してみます。都道府県が「兵庫県」または「青森県」と完全一致するレコード
- KintoneGetRecordsアクションの詳細設定を開きます。
- 「フィールド」に以下を入力します。
["都道府県","行き先"] - 「クエリ」に以下を入力します。
都道府県 = "兵庫県" or 都道府県 = "青森県"

クエリの詳細な指定方法は、cybouzu社公式の案内をご参照ください。
以下3つの方法があります。
- アプリの設定画面から確認
- kintoneUpdateRecordsアクションから確認
- スプレッドシートにフィールドコードとフィールド名を一括で出力
参考:kintoneのフィールドコードとフィールド名の一覧をスプレッドシートに出力



# レコードを一括取得する
+kintone_get_records_1:
action>: kintoneGetRecords
provider: ''
appId: ''
fields: []
meta:
display:
# レコードを一括取得する
+kintone_get_records_2:
action>: kintoneGetRecords
provider: ''
appId: ''
fields: ["都道府県","行き先"]
meta:
display:
# レコードを一括取得する
+kintone_get_records_3:
action>: kintoneGetRecords
provider: ''
appId: ''
fields: ["都道府県","行き先"]
query: '都道府県 = "兵庫県" or 都道府県 = "青森県"'
meta:
display:
取得した値をスプレッドシートやExcelに貼り付ける
kintoneGetRecordsアクションのアウトプットを「加工」すると、
スプレッドシートやExcelへの貼付けが可能となります。
この「加工」は、ConvertJSONToArrayアクションによって可能です。
詳細は、ConvertJSONToArrayの記事をご参照ください。
参考:ConvertJSONToArray(JSONを配列に変換)
レコードの添付ファイルをダウンロードする
kintoneGetRecordsアクションでは、レコードの添付ファイルを直接的にダウンロードすることができません。
添付ファイルをダウンロードする場合は、ブラウザ上でkintoneにアクセスし、ダウンロードを実行するコード(JavaScript)を実行する必要があります。
ここでは、この添付ファイルをダウンロードするワークフロー(コピペ可能)を紹介します。
本タブ下部にあるコード(YAML)エディタモードからコピペいただけます。(コピペ方法はこちら)
実際に使用する際には、以下3つの情報を事前にご準備ください。
- アプリのAPIトークン(取得方法はこちら)
- サブドメイン(URLから取れます。https://ここがサブドメイン.cybozu.com/)
- 添付ファイルのフィールドコード(アプリの設定画面から確認可能です)

上記3つの情報は、ワークフロー上部の3アクション(変数に保存)の該当する箇所の値にご指定ください。
また、ワークフローのkintoneGetRecordsアクションのプロバイダIDやアプリIDには、ご自身の環境のものをご指定ください。
# 変数に保存_kintoneのサブドメイン https://ここがサブドメイン.cybozu.com/
+store_value_7:
action>: StoreValue
key: subdomain
value: 'サブドメイン'
# 変数に保存_アプリのAPIトークン
+store_value_1:
action>: StoreValue
key: kintoneToken
value: 'APIトークン'
# 変数に保存_添付ファイルのフィールドコード
+store_value_2:
action>: StoreValue
key: fileFieldCode
value: '添付ファイルのフィールドコード'
# レコードを一括取得する
+kintone_get_records_1:
action>: kintoneGetRecords
provider: kintone_1170648c1741c72a439c
appId: 5
fields: []
meta:
display:
provider:
type: chip
label: 'kintone (8vekw.cybozu.com)'
icon: kintone
# 各要素について繰り返す_レコード
+for_each_1:
for_each>:
record: +kintone_get_records_1
_do:
# ブラウザを開く_使用しているKintoneのログインページ(CORS回避のため)
+open_browser_1:
action>: OpenBrowser
url: 'https://${subdomain}.cybozu.com/login'
lang: 'ja-JP'
headless: true
useShadowDomSelector: false
# 各要素について繰り返す_添付ファイル
+for_each_2:
for_each>:
fileKeyData: ${record[fileFieldCode]}
withIndex: hoge2
_do:
# ページ内でJavaScriptを実行する_既存ファイルのダウンロード
+inject_script_1:
action>: InjectScript
browser: +open_browser_1
code: "const fileName = \"${fileKeyData.name}\";\nconst url =\n \"https://\" +\n \"${subdomain}\" +\n \".cybozu.com/k/v1/file.json?fileKey=\" +\n \"${fileKeyData.fileKey}\";\nconst xhr = new XMLHttpRequest();\nxhr.open(\"GET\", url);\nxhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\nxhr.setRequestHeader(\"X-Cybozu-API-Token\", \"${kintoneToken}\");\nxhr.responseType = \"blob\";\nxhr.withCredentials = true;\nxhr.send();\nxhr.onreadystatechange = function() {\n // 通信が正常に完了したか確認\n if (xhr.readyState === 4 && xhr.status === 200) {\n const xhrBlob = new Blob([xhr.response], { type: xhr.response.type });\n const blobUrl = URL.createObjectURL(xhrBlob);\n const a = document.createElement(\"a\");\n document.body.appendChild(a);\n a.download = fileName;\n a.href = blobUrl;\n a.click();\n a.remove();\n URL.revokeObjectURL(blobUrl);\n }\n};\n"
returnValue: false
# ブラウザを閉じる
+close_browser_1:
action>: CloseBrowser
browser: +open_browser_1
# ダウンロード完了を待つ_タイムアウトはご調整ください
+wait_for_download_1:
action>: WaitForDownload
timeout: 10000
# ダウンロードファイル一覧
+get_download_files_1:
action>: GetDownloadFiles
order: DESC
sort_by: CREATED