PythonからMicroCMSにAPIでPUTしたいと考えています。
その際、繰り返しフィールドがあり、以下のようにJSONファイルが構成されています。
今回、"c_media_url":の部分をPUTもしくは全体をPOSTしたいのですが、Pythonでうまく以下のようにJSONデータを作成できません。
力技で作成しようとしても力不足のため作成できず、dictやデータフレームから変換しようとしてもうまくいきません。かれこれ2週間近くここでとまっております。
どなたかサンプルコードをご教示いただけると嬉しいです。。。
よろしくお願いいたします。
{ "contents": [ { "id": "ao", "createdAt": "2022-09-04T06:07:25.905Z", "updatedAt": "2022-09-12T04:58:47.230Z", "publishedAt": "2022-09-04T06:07:25.905Z", "revisedAt": "2022-09-12T04:58:47.230Z", "c_ttid": "angel_machine", "c_tname": "Angel_ao", "c_name": "あお@Angel", "c_twitterid": "149333338996166661", "c_prof": " 2022.3.21〜 @Angel にいますᵔ· ̫·ᵔ₎", "c_icon_url": "https://pbs.twimg.com/profile_images/152333338010150914/UOt-J9AJ_normal.jpg", "c_tcount": 261, "c_follow": 50, "c_follower": 56, "c_createdate": "2022-02-24T13:28:52.000Z", "c_media_url": [ { "fieldId": "media_url_rep", "media_url": "https://pbs.twimg.com/media/FcTfLq333AA24uM.jpg" }, { "fieldId": "media_url_rep", "media_url": "https://pbs.twimg.com/media/FcRuFL333AIOeTW.jpg" }, { "fieldId": "media_url_rep", "media_url": "https://pbs.twimg.com/media/EwkSZ333gAM7dlh.jpg" } ] },
2022/9/17 19:28追記
コメントとご指摘ありがとうございます。
作成依頼になってしまっていますね申し訳ありません。
できないことは、「階層をもったJSONファイルを作成できない」です。
具体的には1階層目のデータをTwitterAPIから取得しデータフレームに保管して、microcmsのデータベースにPOSTまではできました。"c_media_url"を除いた部分になります。
def cast_put(list_cast,image_url): dict1 = { "c_ttid": list_cast[0], "c_tname": list_cast[1], "c_name": list_cast[2], "c_twitterid": list_cast[3], "c_prof": list_cast[4], "c_icon_url": list_cast[5], "c_tcount": list_cast[6], "c_follow": list_cast[7], "c_follower": list_cast[8], "c_createdate": list_cast[9], #"c_media_url": [{"fieldId":"media_url_rep","media_url":image_url[0]"}] } print(dict1) url = "https://xxxxxx.microcms.io/api/v1/cast/" + list_cast[1] print(url) try: status_code, result = request_put(url, dict1) except Exception as e: raise e df_cast.apply(cast_put,axis=1)
※df_castには、別途TwitterAPIから取得したデータが入っています。
ここに、別途TwitterIDごとに取得した複数の画像URLを繰り返しフィールドで保管したく、それのが"c_media_url"となります。"c_media_url"の内容は、TwitterAPIにて別途データフレームに保管するところまではできました。
この"c_media_url"の内容をPUTもしくはPOSTしたい、というのが今回の趣旨なのですが、最初の投稿のようなJSONデータを作成して、POSTできたらと考えていました。
または、"c_media_url”のJSONデータをデータフレームから作成し、PUTでも可能なのかなと考えていました。
しかし、今回初めてJSONデータを作成しようとしているため、そもそも"c_media_url"の部分の作り方がわかりません(データはデータフレームにあります)
こちらでわかりますでしょうか・・・

回答1件
あなたの回答
tips
プレビュー