|
本帖最后由 邪恶的拖把 于 2022-7-20 09:32 编辑
1、 安装lamp,Nginx很难设置,使用Apache
2、安装完wordpress之后,点击控制面板上的Settings——》点击Permalinks——》选择 Postname
就像这样
3、配置SSL,只有https才可开启Application Password
4、点击控制面板上的Users——》点击Profile——》拉到最底 New Application Password Name框框中随便输入名字然后点击 Add New Application Password ,就像下面这样,记得保存密码,此密码不可二次查看
5、到网站根目录/www/wwwroot/www.yourwebsite.com ,有一个.htaccess文件, 用vi加入下面这句话
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
6、查看Apache配置文件/www/server/apache/conf/httpd.conf 搜索AllowOverride None, 改成AllowOverride All,正常情况下系统会自动配置好这一步。
7、测试一下, 浏览器输入https://www.yourwebsite.com/wp-json/wp/v2/posts ,正常工作会显示json
8、如果一切顺利的话,我们来尝试一下发布一篇文章吧
url = "https://yourwebsite.com/wp-json/wp/v2"
user = "your-username"
password = "your-application-password"
credentials = user + ':' + password
token = base64.b64encode(credentials.encode())
header = {'Authorization': 'Basic ' + token.decode('utf-8')}
post = {
'title' : 'Hello World',
'status' : 'publish',
'content' : 'This is my first post created using rest API',
'categories': 5, // category ID
'featured_media': imageID, #注意这个字段
}
responce = requests.post(url , headers=header, json=post)
print(responce.text)
由于我们要发布的是图文,而不是纯文字, featured_media 字段可以帮助我们添加图片, 必须先将图片上传至服务器,再返回图片ID, 将ID赋给featured_media 字段,但是由于此方法过于垃圾,文章中并不能显示图片,完全不能满足我们混合图文的需求,所以不再赘述细节。 我们可以选择这样操作:
直接将图片链接赋给 content字段,就像这样 "content": "<img src=\"http://www.yourwebsite.com/wp-content/uploads/2022/07/659d51c01abe598f4e51504535773d76.jpg\" />" 请注意它的写法,这样图片就会出现在我们的文章中了。
那我们怎么获得wordpress 媒体库中的图片链接呢?
media = {
'file': open("D:/imagelib_cover_img/71341cefbdef373b2a5ae03960215b61.jpg", 'rb'),
}
image = requests.post(url + '/media', headers=headers, files=media)
print(str(json.loads(image.content)['link']))
先上传张图片,再返回图片的link,还有很多字段可以查看,通过拼装字段就可以知道图片的地址。关于更多字段可以参考:
https://developer.wordpress.org/rest-api/reference/posts/
最后如果post方法出现401错误,不妨将Application password 更换一下,再做尝试。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
查看全部评分
|