Pythonから「複数のレコードを登録する」kintone APIでの実行方法

何を実現したいのかを書きましょう

kintoneの「複数のレコードを登録する」APIをリファレンス通りに実装し
Pythonで実行しようとしているのですが
request実行で400エラーとなり下記のエラーメッセージが返ってきてしまいます。
appもrecordsも設定していないことはないと思うのですが、
なにか誤りがあるのでしょうか。
お力添えいただきますと幸いです。

発生した問題やエラーメッセージを具体的に書きましょう

{“code”:“CB_VA01”,“id”:“xxxxxxxxxxxxxxxxxxxx”,“message”:“入力内容が正しくありません。”,“errors”:{“app”:{“messages”:[“必須です。”]},“records”:{“messages”:[“必須です。”]}}}

実行したコードをコピー&ペーストしましょう

<PythonFile1>↓

from modules import module1 as m1

kntnKey = '外部ファイルから取得'
kntnDmn = '外部ファイルから取得'

# kintoneへデータ登録する用にセット
save_data = []
for i in range(2):
    data_list = {
        '姓': {'value': 'テスト太郎' + str(i)},
        '名': {'value': ''},
        'Eメールアドレス_PC': {'value': 'test-'  + str(i) + '@example-test' + str(i) + '.co.jp'},
        'フリガナ_セイ': {'value': 'てすとたろう' + str(i)},
        'フリガナ_メイ': {'value': ''},
        '電話番号': {'value': '03-XXXX-XXXX'},
    }
    save_data.append(data_list)

# データ登録
m1.testKntnEntryRecord(kntnKey, kntnDmn, '999', save_data)

<PythonFile2>↓

def testKntnEntryRecord(key1, dmain, appId, save_data):

    headers = {
        'Content-Type': 'application/json',
        'X-Cybozu-Authorization': key1,
        'X-HTTP-Method-Override': 'POST',
    }

    json_data = {
        'app': appId,
        'records': save_data
    }

    url = 'https://' + dmain + '.cybozu.com/k/v1/records.json'

    # API実行
    response = requests.post(url, headers = headers, json = json.dumps(json_data, ensure_ascii = False))

JSONの中身↓

{
	"app": "999",
	"records": [
		{
			"姓": {
				"value": "テスト太郎0"
			},
			"名": {
				"value": ""
			},
			"Eメールアドレス_PC": {
				"value": "test-0@example-test0.co.jp"
			},
			"フリガナ_セイ": {
				"value": "てすとたろう0"
			},
			"フリガナ_メイ": {
				"value": ""
			},
			"電話番号": {
				"value": "03-XXXX-XXXX"
			}
		},
		{
			"姓": {
				"value": "テスト太郎1"
			},
			"名": {
				"value": ""
			},
			"Eメールアドレス_PC": {
				"value": "test-1@example-test1.co.jp"
			},
			"フリガナ_セイ": {
				"value": "てすとたろう1"
			},
			"フリガナ_メイ": {
				"value": ""
			},
			"電話番号": {
				"value": "03-XXXX-XXXX"
			}
		}
	]
}

自己解決しました。
Pythonの書き方の問題と、kintone側のAPIの設定の問題両方が絡んでおり、
Pythonのrequestsには文字列としてではなくlistやdictのままjsonパラメータを指定しなくてはいけませんでした。
kintone側のAPIの設定の問題はチェックボックス項目の指定の仕方が文字列だけではエラーとなってしまうようです。

これらを解消して実行してみたところ正常に登録することができました。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。