kintoneのレコードをPythonから条件クエリー(チェックボックス)で取得する
Google Calendar Twilio Reminderのkintoneのレコードを取得する部分の説明です。
目次
kintoneアプリの作成
以下の項目を持つアプリを作成します。
フィールド名 | フィールドコード | タイプ | 内容 |
---|---|---|---|
メールアドレ | calendar_id | 文字列(1行) | Googleアカウントのメールアドレス |
電話番号 | tel_number | 文字列(1行) | Twilioからかかってくる先の電話番号 |
無効 | invalid | チェックボックス | 選択項目は「無効」のみ |
※「無効」は設定を無効にするための項目です。レコード削除でも同じです。
コード説明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# coding:utf-8 import logging import requests import json import os import sys import traceback logger = logging.getLogger() logger.setLevel(logging.INFO) class KintoneCalendarCall(object): def __init__(self): KINTONE_URL = "https://{kintone_domain}/k/v1/records.json?app={kintone_app}" self.url = KINTONE_URL.format( kintone_domain=os.environ['KINTONE_DOMAIN'], kintone_app=os.environ['KINTONE_APP'] ) self.headers_key = os.environ['KINTONE_HEADERS_KEY'] self.api_key = os.environ['KINTONE_API_KEY'] self.basic_headers_key = os.environ['KINTONE_BASIC_HEADERS_KEY'] self.basic_headers_value =os.environ['KINTONE_BASIC_HEADERS_VALUE'] self.query = u'&query=invalid not in ("無効")' def get_regist(self): try: headers = {self.headers_key: self.api_key} if self.basic_headers_value != '': headers[self.basic_headers_key] = self.basic_headers_value response_record = requests.get(self.url + self.query , headers=headers) record_data = json.loads(response_record.text) logger.info(record_data) records = record_data['records'] return records except Exception as e: logger.error(traceback.format_exc(sys.exc_info()[2])) |
変数取得
AWS Lambdaの環境変数設定を使っています。
kintone関係の環境変数は以下です。
変数名 | 設定値 |
---|---|
KINTONE_DOMAIN | kintoneのドメイン xxx.cybozu.com |
KINTONE_APP | kintoneのアプリの数字 |
KINTONE_HEADERS_KEY | X-Cybozu-API-Token |
KINTONE_API_KEY | kintoneのAPIキー |
KINTONE_BASIC_HEADERS_KEY | Authorization |
KINTONE_BASIC_HEADERS_VALUE | kintoneベーシック認証のキー(Basic)で始まる |
クエリーは固定で &query=invalid not in (“無効”) としています。
これでkintoneで「無効」のチェックが入っていないレコードのみを取得します。
KINTONE_DOMAIN
この xxx.cybozu.com を設定します。
契約によっては「cybozu.com」じゃない場合もあるようです。
KINTONE_APP
kintoneのアプリを開いたときのURLの数字を設定します。
KINTONE_HEADERS_KEY
固定で「X-Cybozu-API-Token」です。
万が一変更があったときのために変数化しています。
KINTONE_API_KEY
[アプリの設定を変更]をクリックします。
[カスタマイズ/サービス連携]の[APIトークン]をクリックします。
[生成する]をクリックしてAPIトークンを生成します。
権限は閲覧のみにします。
ここで生成されたAPIトークンをKINTONE_API_KEYに設定します。
KINTONE_BASIC_HEADERS_KEY
固定で「Authorization」です。
万が一変更があったときのために変数化しています。
アクセス制限をしてない環境では不要です。
KINTONE_BASIC_HEADERS_VALUE
「Basic 」とBasic認証に使用している「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。
例 : ログイン名が「Administrator」、パスワードが「cybozu」の場合
Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
アクセス制限をしてない環境では不要です。
レコード取得
- headersにX-Cybozu-API-TokenとAPIトークンを設定
- Basic認証をしている場合はheadersに設定
- https://{kintone_domain}/k/v1/records.json?app={kintone_app}&query=invalid not in (“無効”) とheaders を引数にしてrequestsパッケージを使ってGETリクエストします。
- レコード取得結果をデコーディングして[records]の値を戻します。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
【PR】 「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
「kintone Café 大阪 Vol.14 〜モザイクなし!うちのkintoneはこれだ!〜」で登壇しました
「kintone Café 大阪 Vol.14 〜モザイクなし!うちのkinto …
-
-
kintoneのカスタマイズ開発を超速にするCUSTOMINE
kintoneのカスタマイズについて kintoneは標準機能を使うだけでもアプ …
-
-
kintone hiveで改めてkintoneの破壊力を見た
kintone hiveとは 「日頃から業務の中でkintoneを活用しているユ …
-
-
Cybozu Days 2021「精鋭エンジニアによる kintoneカスタマイズ頂上決戦 「kintone hack NIGHT」ー混沌の闇に放たれし6つの稲妻、キントーン界の神々の戦いが今始まるー」を観ました
初日の最終セッションはkintone x hackでした。 会場では晩ごはんもい …
-
-
CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)
先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書 …
-
-
Cybozu Circus Fukuokaで「経営者が語る。 70人の鉄工所が、kintoneで「見える化」第一歩を踏み出してみた。」を見ました。
工場長頼みだった工程管理の見える化をkintoneで実現された乗富鉄工所乘冨さん …
-
-
Cybozu Days 2021でR3インスティテュートさんのカスタマインのデモを観ました
kintone hiveでも数社の発表で出てきていたkintoneのプラグイン「 …
-
-
kintone webhookからAWS API Gateway – Lambdaを実行しレコードの値を渡す
2017年2月のアップデートでkintoneにWebhook機能がリリースされま …
-
-
kintoneの一覧に表示されているレコードのフィールドを更新する
kintoneで一括でレコード更新をするときに、書き出して、CSVの値を修正して …
-
-
「kintone Café 大阪 Vol.15 〜kintone Night Café 2017 〜」でLTしてきました
「kintone Café 大阪 Vol.15 〜kintone Night C …