kintone API

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

為應用創建遊標以批量獲取記錄。

目錄

HTTP 方法POST
URLhttps://sample.cybozu.com/k/v1/records/cursor.json
URL(訪客空間)https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/records/cursor.json
認證 密碼驗證 , API令牌認證 , 會話認證
Content-Typeapplication/json

請求參數

參數名稱 類型 必須 說明
app 數值或字串 必須 應用ID
fields 陣列(字串) 可省略 要包含在回應中的域代碼
如果省略,則返回您有權查看的所有欄位的值。
query 字串 可省略 一個查詢字串,用於指定要包含在回應中的記錄的條件
有關查詢表示法的詳細資訊,請參閱以下頁面。
如何編寫查詢
但是,limit 不能指定 和 offset
如果省略,則包括您有權查看的所有記錄。
size 數值或字串 可省略 要在單個 GET 請求中從遊標獲取的記錄數
您可以指定一個介於 100 和 500 之間的數值。
如果省略,則設置為100。

回應屬性

屬性名稱 類型 說明
id 字串 您建立的游標的游標 ID
totalCount 字串 要獲取的記錄數

所需存取權限

  • 應用程式的記錄的查看權限
  • 要選取其值的記錄的查看權限
  • 查看要選取其值的欄位的查看權限

範例

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
}

1
2
3
4
{
  "id": "9a9716fe-1394-4677-a1c7-2199a5d28215",
  "totalCount": "123456"
}

有關kintone.api()的說明,請參閱以下頁面。
傳送kintone REST 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);

根據您的環境,curl的格式可能會有所不同。
有關說明,請參閱以下頁面。
使用curl命令執行kintone REST API中的3.執行API (日語)

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
  }'

限制事項

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