kintone でレコードのフィールド値を取得、更新する Python プログラムを作りました。編集不可にした項目を更新するときに使用します。または、添付ファイル情報を取得します。
実行
python 31_get_record.py
取得
31_get_record.py
import base64
import urllib.request
import json
from pathlib import Path
appno = 123
#appno = 124
#appno = 125
recid = 55 # レコードID
fldnm = "住所" # フィールド名
uri = "https://sample.cybozu.com/k/v1/record.json"
username_password = "UserName:YourPassWord"
auth_header = base64.b64encode(username_password.encode())
headers = {
"Host": "sample.cybozu.com:443",
"X-Cybozu-Authorization": auth_header,
"Content-Type": "application/json",
}
body = {
"app": appno,
"id": recid
}
req = urllib.request.Request(
url=uri,
data=json.dumps(body).encode(),
headers=headers,
method="GET",
)
response = urllib.request.urlopen(req)
res_dict = json.load(response)
# JSON を整形して表示する
#print(json.dumps(res_dict, indent=4, ensure_ascii=False))
# 値を表示する
fldnm_value = res_dict['record'][fldnm]['value'] # 値
#fldnm_value = res_dict['record'][fldnm]['value'][0] # 配列の値
print(json.dumps(fldnm_value, indent=4, ensure_ascii=False))
実行
python 32_update_parameter.py
更新
32_update_parameter.py
import base64
import urllib.request
import json
from pathlib import Path
appno = 123
#appno = 124
#appno = 125
recid = 55 # レコードID
uri = "https://sample.cybozu.com/k/v1/record.json"
username_password = "UserName:YourPassWord"
auth_header = base64.b64encode(username_password.encode())
headers = {
"Host": "sample.cybozu.com:443",
"X-Cybozu-Authorization": auth_header,
"Content-Type": "application/json",
}
body = {
"app": appno,
"id": recid,
"record": {
"住所": { # 文字列(1行)
"value": "東京都千代田区麹町"
}
}
}
# "確認作業": { # チェックボックス
# "value": ["確認"]
# }
# "確認作業": { # チェックボックス
# "value": [ ]
# }
# 添付ファイル
# 直前に curl でファイルをアップロードして、そのレスポンスの fileKey をメモする
# curl -X POST 'https://sample.cybozu.com/k/v1/file.json' -H 'X-Cybozu-API-Token: xxxxxxxxxxxx' -F 'file=@test.xlsx'
# 既に添付ファイルがある場合は、その fileKey を取得して、それも一緒に追加する
# python 31_get_record.py (同じ recid と fldnm を指定)
# "写真": { # 添付ファイル
# "value": [
# {
# "fileKey": "123456-abcd-efdh-7890-123456789"
# }
# ]
# }
# "写真": { # 添付ファイル(既に添付ファイルがある場合)
# "value": [
# {
# "fileKey": "123456789012345678901234567890"
# },
# {
# "fileKey": "abcdefghijklmnopqrstuvwxyz"
# }
# ]
# }
# "写真": { # 添付ファイル(削除)
# "value": []
# }
req = urllib.request.Request(
url=uri,
data=json.dumps(body).encode(),
headers=headers,
method="PUT",
)
response = urllib.request.urlopen(req)
res_dict = json.load(response)
# JSON を整形して表示する
print(json.dumps(res_dict, indent=4, ensure_ascii=False))