レコードのアクセス権をAPIを使って一括登録したい

以下記事を参考に、レコードのアクセス権を一括で登録したいです。

Pythonを利用して、アプリAのアクセス権を抽出⇒アプリBに登録
の流れで実装しようと考えております。
アクセス権の抽出はGETメソッドで行えたのですが、アプリBへの登録(POSTメソッド)が
上手くいっていません

基本的にコード上でエラーは無いのですが、print (RESP) でhttpのエラーコードが帰ってきてしまいます。
そもそもPOSTで何を渡せば良いかが分かっておらず、解決策をご教示いただけませんでしょうか。

####①実行用ファイル

import requests
import json
URL = "https://ドメイン.cybozu.com/k/v1/record/acl.json"
API_TOKEN = "生成したトークン"

def put_kintone(url,api_token):
    exportdata = open('②のファイル','r+', encoding='utf-8')
    datas = json.load(exportdata)   
    header = {"X-Cybozu-API-Token": api_token}
    param = {"app": "アプリid",
               "rights":datas
            }
    resp = requests.post(url,headers = header,params = param)
    return resp

if __name__ == "__main__":  #直接実行されたときのみ起動
    RESP = put_kintone(URL, API_TOKEN)  
    print (RESP)
    print("処理終了")

####②読み込ませるファイル(実際はrightの中が10000行ほどあります)
{
“rights”:[
{
“filterCond”: “作成者 in (" USER", "aaaa@aaaa")”,
“entities”: [
{
“entity”: {
“type”: “GROUP”,
“code”: “グループA”
},
“viewable”: true,
“editable”: true,
“deletable”: true,
“includeSubs”: false
},
{
“entity”: {
“type”: “USER”,
“code”: “xxxxx@xxxxx”
},
“viewable”: true,
“editable”: true,
“deletable”: false,
“includeSubs”: false
},
{
“entity”: {
“type”: “USER”,
“code”: “yyyy@yyyy”
},
“viewable”: true,
“editable”: true,
“deletable”: false,
“includeSubs”: false
},
{
“entity”: {
“type”: “FIELD_ENTITY”,
“code”: “作成者”
},
“viewable”: true,
“editable”: true,
“deletable”: false,
“includeSubs”: false
},
{
“entity”: {
“type”: “GROUP”,
“code”: “everyone”
},
“viewable”: false,
“editable”: false,
“deletable”: false,
“includeSubs”: false
}
],
“revision”: “1130”
}
]
}

@LA_administrator さん

こんにちは、一点気になったので回答させていただきました。
恐らく現在 POSTメゾット でリクエスト投げられているかと思われますが、参考にされているリンクを確認してみると PUTメソッド でのリクエストが必要なようです。
レスポンスのエラーですが、どのようなエラーがかえってくるのでしょうか?
400だけじゃなくて何かしらペイロード部にメッセージが書かれているかと思われます…

@y_minamitani9534 さん
確認いただきありがとうございます!

エラーメッセージを確認したところ、以下が表示されました。
<Response [405]>
{“code”:“CB_HM01”,“id”:“MB93D7hNQSJBKzotm3GR”,“message”:“利用できないメソッドが指定されています。”}

ご指摘いただいた通り、postメソッドは利用できないようでした。

そのため、putメソッドに変更したところ、以下のエラーメッセージが表示されました。
<Response [520]>
{“code”:“CB_IL02”,“id”:“tPg7jmyWRbbAxwu1m0OI”,“message”:“不正なリクエストです。”}

メソッド自体は利用できるようですが、エラーの詳細が分からず…といった状態です。。

こんにちは、ステータス520とかCB_IL02で調べてみるとこんな記事が出てきましたね。

下の方のまとめで

kintone REST APIで400/520のエラーが出た時は、リクエストデータの形式に誤りがあることがわかりました。

と書かれており、それらから読み込ませるファイルの部分を確認しましたが、パラメータ名が間違っていたり(entitiesなど)、恐らく利用できないもの(filterCond”: “作成者 in (" USER", “aaaa@aaaa”)など)が原因かなと考えております。
また、読み込ませるファイルの先頭のrightsは、必要ないかなと思っています。
下記のように[{entity:}]からでいいかなと思っていますが、こちら確認はしていませんので一度デバッグなどでどのような配列が設定されているか確認してみてくださいね :sweat_drops:

//例
[{entity: 
        {
            type:"USER",
            code:"user01"
        }
},]
「いいね!」 2

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