(批量抓取紀錄)建立游標

information

本頁面使用機器翻譯而成。
機器翻譯免責聲明 (External link)

目錄

建立游標

為應用創建遊標以批量檢索記錄。

URL

常規應用程式
https://sample.cybozu.com/k/v1/records/cursor.json
訪客空間的應用程式
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/records/cursor.json

HTTP 方法

POST

存取權限

  • 查看應用程式中記錄的許可權
  • 查看要檢索其值的記錄的許可權
  • 查看要檢索其值的欄位的許可權

請求

參數
參數名稱 類型 必須 說明
app 數位或字串 必須 應用ID
fields 陣列(字串) 自選 要包含在回應中的域代碼
如果省略,則返回您有權查看的所有欄位的值。
query 字串 自選 一個查詢字串,用於指定要包含在回應中的記錄的條件
有關查詢表示法,請參閱 如何編寫查詢
但是,limit 不能指定 和 offset
如果省略,則包括您有權查看的所有記錄。
size 數位或字串 自選 要在單個 GET 請求中從遊標檢索的記錄數
您可以指定一個介於 1 到 500 之間的數位。
如果省略,則設置為100。
示例請求
標頭
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

關於請求標頭,請參見 kintone REST API的通用規範

內文
1
2
3
4
5
6
{
  "app": 1,
  "fields": [“記錄編號”, “建立人”, “建立時間”]
  "query": "建立人 in (LOGINUSER()) and 建立時間 = TODAY() order by 記錄編號 asc",
  "size": 500
}

回應

屬性
屬性名稱 類型 說明
id 字串 您建立的游標的游標 ID
totalCount 字串 要檢索的記錄數
示例回應
1
2
3
4
{
  "id": "9a9716fe-1394-4677-a1c7-2199a5d28215",
  "totalCount": "123456"
}

示例代碼

使用 curl 的請求
1
2
3
4
5
6
7
8
9
curl -X POST 'https://sample.cybozu.com/k/v1/records/cursor.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "fields": ["記錄編號", "建立人", "建立時間”"],
    "query": "建立人 in (LOGINUSER()) and 建立時間 = TODAY() order by 記錄編號 asc",
    "size": 500
  }'
發送kintone REST API請求 使用API 發送請求
1
2
3
4
5
6
7
8
const body = {
  app: kintone.app.getId(),
  fields: ['記錄編號', '建立人', '建立時間'],
  query: '建立人 in (LOGINUSER()) and 建立時間 = TODAY() order by 記錄號碼 asc',
  size: 500
};

await kintone.api(kintone.api.url('/k/v1/records/cursor.json', true), 'POST', body);

限制

  • 不能並行創建多個遊標。如果正在執行創建請求,則將等待下一個請求。
  • 每個域的有效遊標數限制為10個。
    當達到限制時,在發生下列情況之一之前,不能創建新的遊標:
  • 游標過期時間為上次創建遊標或請求從遊標檢索記錄起 10 分鐘。
  • 如果在精簡程式中包含關鍵字搜索 (like, ,not like),則當相關記錄數達到 100,000 條時,搜索將終止。
    在本例中,將添加到 "X-Cybozu-Warning" : "Filter aborted because of too many search results." 響應標頭中。
  • 游標的創建將在 5 分鐘後超時。
    如果超時,query 請更改為更簡單的內容,或指定可減少 query 所涉及的記錄數的內容,然後重試。