0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kintone でレコードのフィールド値を取得、更新する Python プログラム

Last updated at Posted at 2025-01-15

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))

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?