Python library to access kintone.
import pykintone
r = pykintone.app("kintone domain", "app id", "api token").select("updated_time > NOW()")
if r.ok:
records = r.records
pip install pykintone
import pykintone
from pykintone import model
class Person(model.kintoneModel):
def __init__(self):
super(Person, self).__init__()
self.last_name = ""
self.first_name = ""
app = pykintone.load("path_to_account_setting").app()
persons = app.select().models(Person)
someone = persons[0]
someone.last_name = "xxx"
app.update(someone)
Of course you can use every basic operation.
- create
- read
- update
- delete
(You have to prepare the kintone Application that has my_files
field as below.)
import pykintone
from pykintone import model
import pykintone.structure_field as sf
class MyFolder(model.kintoneModel):
def __init__(self):
super(MyFolder, self).__init__()
self.my_files = [sf.File()]
app = pykintone.load("path_to_account_setting").app()
my_files = ["note.txt", "image.png"]
folder = MyFolder()
folder.my_files = [sf.File.upload(f, app) for f in my_files]
result = app.create(folder)
record = app.get(result.record_id).model(MyFolder)
files = [f.download(app) for f in record.my_files]
import pykintone
from pykintone import model
class Report(model.kintoneModel):
def __init__(self, title="", detail=""):
super(Report, self).__init__()
self.title = title
self.detail = detail
app = pykintone.load("path_to_account_setting").app()
# create record
report = Report(title="about today", detail="I used pykintone.")
created_id = app.create(report).record_id
# create comment
app.comment(created_id).create("Good Job!")
import pykintone
from pykintone.application_settings.administrator import Administrator
import pykintone.application_settings.form_field as ff
from pykintone.application_settings.view import View
kintone = pykintone.load("path_to_account_setting")
with kintone.administration().transaction() as admin:
# create application
created = admin.create_application("my_application")
# create form
f1 = ff.BaseFormField.create("SINGLE_LINE_TEXT", "title", "Title")
f2 = ff.BaseFormField.create("MULTI_LINE_TEXT", "description", "Desc")
admin.form().add([f1, f2])
# create view
view = View.create("mylist", ["title", "description"])
admin.view().update(view)
import pykintone
export_api = pykintone.load("path_to_account_setting").user_api().for_exporting
users = export_api.get_users().users
Export
- users
- user's organizations and titles
- user's groups
You can download from pypi.
pip install pykintone
pykintone
works on Python3, and it depends on below libraries.
You can write account setting file as below (yaml format).
domain: xxx
login:
id: user_id
password: password
basic:
id: basic_id
password: password
apps:
test:
id: 1
Of course you can use api_token.
domain: xxx
apps:
test:
id: 1
token: xxxx
To run tests, please follow the following steps:
- Create a test application on your kintone by using
tests/pykintoneTest.zip
template.- Open "kintone Administration" page from the setting icon.
- Open "App Template" page.
- Click "Import" button and select
tests/pykintoneTest.zip
file. - Create an application using this template.
- Create
account.yaml
file at the root directory of pykintone.domain: <your-domain without .cybozu.com> login: id: <user name> password: <user password> apps: testApp: id: <id of the application>
- Run the tests.
cd /path/to/pykintone python3 -m unittest