ヤマムギ

growing hard days.

*

kintoneのレコードをPythonから条件クエリー(チェックボックス)で取得する

   


Google Calendar Twilio Reminderのkintoneのレコードを取得する部分の説明です。

kintoneアプリの作成

以下の項目を持つアプリを作成します。

フィールド名 フィールドコード タイプ 内容
メールアドレ calendar_id 文字列(1行) Googleアカウントのメールアドレス
電話番号 tel_number 文字列(1行) Twilioからかかってくる先の電話番号
無効 invalid チェックボックス 選択項目は「無効」のみ

※「無効」は設定を無効にするための項目です。レコード削除でも同じです。

コード説明

変数取得

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]の値を戻します。
@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - kintone ,

ad

ad

  関連記事

kintoneの全フィールド(テーブル含む)の編集を不可にする

小ネタですが kinotneでとにかくフォーム上から全フィールドの編集を無効にし …

「gusuku Meetup OSAKA Vol.1」に参加させていただきました

前回のkinotne Cafeの懇親会でふと言った「gusuku Meetupっ …

kintoneのアプリ管理の情報をkintoneで作ったアプリ管理アプリに格納/更新する

kintone Advent Calendar 2017の参加記事です。 課題 …

「kintone Café 大阪 Vol.14 〜モザイクなし!うちのkintoneはこれだ!〜」で登壇しました

「kintone Café 大阪 Vol.14 〜モザイクなし!うちのkinto …

kintone JavaScript APIで新規レコード作成時にログインユーザーとその組織をフィールドにデフォルト値として登録する

よくやりそうなふるまいなので書き残しておきます。 create_userフィール …

kintone webhookからAWS API Gateway – Lambdaを実行しレコードの値を渡す

2017年2月のアップデートでkintoneにWebhook機能がリリースされま …

kintoneのカスタマイズ開発を超速にするCUSTOMINE

kintoneのカスタマイズについて kintoneは標準機能を使うだけでもアプ …

「【Twilio x kintone 合同ハンズオン in 大阪】Twilio Studioとkintoneで電話受付システムをつくろう」に行ってきました

「【Twilio x kintone 合同ハンズオン in 大阪】Twilio …

「kintone Café 大阪 Vol.15 〜kintone Night Café 2017 〜」でLTしてきました

「kintone Café 大阪 Vol.15 〜kintone Night C …

kintone hiveで改めてkintoneの破壊力を見た

kintone hiveとは 「日頃から業務の中でkintoneを活用しているユ …