Warning
This is not an officially supported Cybozu/Kintone product. Please do not send requests for additional features or bug fixes to account manager or customer support.
Warning
このリポジトリは cybozu.com の一利用者として業務で kintone を利用しているサイボウズ社員によって作られたものを現状のまま ("AS IS") で公開しているものです。kintone のサービスの一部として提供しているものではありません。機能の追加や不具合の修正のリクエストをカスタマーサポートや担当営業に送ることはお控えください。公式の SDK の提供要望は kintone 開発チームへのフィードバックとしてお送りください 😉
cybozu.com Python library
以下の環境変数を設定すると自動で使用してくれます。
CYBOZU_SUBDOMAIN=
CYBOZU_USERNAME=
CYBOZU_PASSWORD=
KINTONE_APP_TOKEN_<アプリID>=CYBOZU_PASSWORD と KINTONE_APP_TOKEN_<アプリID> は、値を直接書く代わりに以下のプレフィックスを付けると外部のシークレットストアから取得します。
| 記法 | 取得先 | 例 |
|---|---|---|
aws:<シークレットID> |
AWS Secrets Manager | CYBOZU_PASSWORD=aws:my/cybozu/password |
op://<Vault>/<アイテム>/<フィールド> |
1Password (op コマンド) |
CYBOZU_PASSWORD=op://Private/cybozu/password |
aws:はAWS_SECRET_PROFILE(なければAWS_PROFILE)、AWS_SECRET_REGION_NAME(なければAWS_REGION_NAME、デフォルトap-northeast-1) を使います。op://は 1Password CLI のop readを実行するため、事前にインストールとサインインが必要です。op:<Vault>/<アイテム>/<フィールド>のように//を省略した記法も使えます。複数アカウントを使い分けている場合はOP_ACCOUNTを、op以外のコマンド名を使う場合はOP_COMMANDを設定してください。
# kintone
from bozupy import kintone
from bozupy.kintone.record import KintoneRecord, KintoneRecordSingleLineTextField
# env: KINTONE_APP_TOKEN_1=xxxxx を設定しておくとアクセストークンを使ってアクセスする
# それがなければユーザー名とパスワードを使ってアクセスする
record: KintoneRecord = kintone.record.get_record(app_id=1, record_id=1)
print(record.get_field("code", KintoneRecordSingleLineTextField).value)
## 環境変数以外の認証情報を使うことも可能
from bozupy import AccessData
access_data: AccessData = AccessData('<subdomain>', 'username', 'password')
record = kintone.record.get_record(app_id=1, record_id=1, access_data=access_data)
# garoon
from bozupy import garoon
from bozupy.garoon.schedule import GaroonEvent
event: GaroonEvent = garoon.schedule.get_event(event_id=1)
# slash
from bozupy import slash
from bozupy.slash import User
users: list[User] = [u for u in slash.get_users(access_data=access_data)]