pytoneはKintone にアクセスするためのPythonライブラリです。
ZENKが開発しOSSとして公開しています。
from pytone import kintone kintone = kintone.Kintone('APIトークン', 'サブドメイン', 'アプリID')
Features
pytoneはKintoneをPythonで操作するためのライブラリです。KintoneAPI の以下に対応しています
Requirement
Python3系で動作し、以下のライブラリに依存します。
Installation
pip install requests pip install zenkPytone
Usage
レコードの取得(一括)
#呼び出し方
kintone.select(where=where,order=order,limti=limit,fields=fields)
"""
引数は省略可能です
・whereを省略した場合、アプリの全レコードを取得します
・レコードのソートをする場合はwhereには書かず、orderに記述してください
・limitを指定する場合はwhereには書かず、limitに数値を記述してください
・fieldsを省略した場合、全フィールドを取得します
・idとrevisionは指定していなくても取得します
・対象のレコードをすべて取得します。(offset上限対応)
"""
#例
where = 'フィールドコート1 = "value"'
order = 'order by $id asc'
limit = 500
fields = ['フィールドコート1','フィールドコート2','サブテーブル']
response = kintone.select(where=where,order=order,limit=limit,fields=fields)
"""
レスポンスの例
[
{
'$id':1,
'revision':1,
'フィールドコート1':'value',
'フィールドコート2':'value',
'サブテーブル':
[
{
'id': '1111111', #テーブルの行ID
'フィールドコート1':'value',
'フィールドコート2':'value',
},
{
'id': '1111112', #テーブルの行ID
'フィールドコート1':'value',
'フィールドコート2':'value',
}
]
},
{
'$id':2,
'revision':1,
'フィールドコート1':'value',
'フィールドコート2':'value',
'サブテーブル':
[
{
'id': '2222222', #テーブルの行ID
'フィールドコート1':'value',
'フィールドコート2':'value',
},
{
'id': '2222223', #テーブルの行ID
'フィールドコート1':'value',
'フィールドコート2':'value',
}
]
}
]
"""
レコードの取得(一件)
#呼び出し方
#引数に取得するレコードIDを指定します
kintone.selectRec(recordID)
#例
recordID = 1
response = kintone.selectRec(recordID)
"""
レスポンスの例
{
'$id':1,
'revision':1,
'フィールドコート1':'value',
'フィールドコート2':'value',
'サブテーブル':
[
{
'id': '1111111', #テーブルの行ID
'フィールドコート1':'value',
'フィールドコート2':'value',
},
{
'id': '1111112', #テーブルの行ID
'フィールドコート1':'value',
'フィールドコート2':'value',
}
],
}
"""
レコードの登録(一括)
#呼び出し方
#insert関数の引数はリスト型でなくてはいけません
kintone.insert(records)
#例
records = [
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
],
'ユーザー選択':
[
'ログイン名1',
'ログイン名2'
],
'サブテーブル':
[
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
]
},
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
]
}
]
},
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
............
}
]
response = kintone.insert(records)
"""
レスポンスの例
{
'ids':['1','2'],
'revisions':['1','1']
}
"""
レコードの登録(一件)
#呼び出し方
#insertRec関数の引数は辞書型でなくてはいけません
kintone.insertRec(record)
#例
record = {
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
],
'ユーザー選択':
[
'ログイン名1',
'ログイン名2'
],
'サブテーブル':
[
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
]
},
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
]
}
]
}
response = kintone.insertRec(record)
"""
レスポンスの例
{
'id': '1',
'revision': '1'
}
"""
レコードの更新(一括)
#呼び出し方
#update関数の引数はリスト型でなくてはいけません
kintone.update(records)
"""
登録するレコードにidもしくはupdateKeyを指定する必要があります
"""
#例
records = [
{
'$id':'1',
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
],
'ユーザー選択':
[
'ログイン名1',
'ログイン名2'
],
'サブテーブル':
[
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
]
},
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
]
}
]
},
{
'updateKey':
{
'field':'重複禁止のフィールドコート',
'value':'value'
},
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
............
}
]
response = kintone.update(records)
"""
レスポンスの例
{
'records':[
{
'id':'1',
'revision':'2'
},
{
'id':'2',
'revision':'2'
}
]
}
"""
レコードの更新(一件)
#呼び出し方
#updateRec関数の引数は辞書型でなくてはいけません
kintone.updateRec(record)
"""
登録するレコードにidもしくはupdateKeyを指定する必要があります
"""
#例
record = {
'$id':'1',
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
],
'ユーザー選択':
[
'ログイン名1',
'ログイン名2'
],
'サブテーブル':
[
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
]
},
{
'文字列__1行':'value',
'文字列__複数行':'value\nvalue2',
'チェックボックス':
[
'sample1',
'sample2'
]
}
}
response = kintone.updateRec(record)
"""
レスポンスの例
{
'revision': '2'
}
"""
レコードの削除
#呼び出し方
#delete関数の引数はリスト型でなくてはいけません
kintone.delete(recordIDs)
#例
recordIDs = ['1','2','3']
response = kintone.delete(recordIDs)
"""
レスポンスの例
{}
"""
#リクエスト成功時は空の辞書が戻ってきます
Author
- Author
Masashi Tsuruya - Organizationr
株式会社ゼンク
License
“pytone” is under MIT license .