【Python】WordPressにAPIを使って画像を送る方法

PythonでWordPressに画像をPOST Python
PythonでWordPressに画像をPOST

今回はPythonとWordPressのAPIを使って画像をWordPressに渡す方法を紹介します

コード

import requests

USER = "xxxx" # ユーザ名
PASSWORD = "xxxx" # アプリケーションパスワード
URL = "https://www.xxx.com/wp-json/wp/v2/media" # エンドポイント

headers = {
    "Content-Type": "image/png",
    "Content-Disposition": "attachment; filename=sample-image.png"
    }

with open("./sample-image.png", mode="rb") as f:
    img_data = f.read()

response = requests.post(URL, headers=headers, data=img_data, auth=(USER, PASSWORD))
res_josn = response.json()

print(res_josn)

5行目のURLのxxxの部分、9行目のContent-Dispositionのfilename、12行目のopenの第一引数のファイルパスは各自設定を変えてください

上記のコードを実行したときにエラーにならず、ワードプレスのダッシュボード→メディアのページに選択したファイルがあれば成功です

解説

ユーザ名とアプリケーションパスワードは以下の記事の方法で取得したものを使用します

Content-Dispositionのfilenameの設定したファイル名はワードプレスのメディアに表示される名前になります(日本語は使えないので注意)

まとめ

今回はPythonでWordPressに画像を渡す方法を紹介しました

不具合等あればコメントで教えてください!

コメント

タイトルとURLをコピーしました