提问人:sm535 提问时间:11/5/2023 最后编辑:sm535 更新时间:11/12/2023 访问量:27
如何在python中通过REST API将图像上传到 wordpress.com
How to upload an image to wordpress.com through REST API in python
问:
我正在尝试使用 python 中的 WordPress 的 REST API 将图像上传到我的 wordpress.com 站点(不是在我自己的站点上安装的 WP)。有几个例子说明当 WordPress 网站由用户托管时如何在 SO 上执行此操作。但是当该网站处于 wordpress.com 状态时,我找不到任何示例。我尝试在这里遵循类似问题的示例,并使用了下面的代码。我尝试作为访问 URL,但收到 400(格式错误)响应代码。url = 'https://public-api.wordpress.com/wp/v2/sites/' + domain + '/media'
我生成wp_token
wordpress_credentials = wordpress_user + ':' + wordpress_password
wordpress_token = base64.b64encode(wordpress_credentials.encode())
wp_token = wordpress_token.decode('utf-8')
wordpress_password
这是应用密码。
如何调试为什么我会收到 400 响应?感谢任何帮助。
import json, os, subprocess
def wp_upload_image2(domain, wp_token, img_path):
# Form the url
url = 'https://public-api.wordpress.com/rest/v1.1/sites/' + domain + '/media/new'
# Extract the filename and the extension from the img_path
extension = img_path[img_path.rfind('.')+1 : len(img_path)]
print("img_path: ", img_path, "Filename: ", img_path, "extension: ", extension)
# Now form the header
headers = {
'Authorization': 'BEARER ' + wp_token,
}
try:
with open(img_path, 'rb') as fp:
print("Successfully opened file!")
files = {
'media[]': fp,
}
rs = requests.post(url, headers=headers, files=files)
print("Response from WP: ", rs)
return(rs)
except IOError as e:
print(f"Couldn't open file ({e})")
答: 暂无答案
评论