今回は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に画像を渡す方法を紹介しました
不具合等あればコメントで教えてください!
コメント