我用basicauth创建了这个小脚本来创建wordpres帖子,它很有用。问题是当我试图为一篇文章分配多个类别时。在
所以我试着让它失败,这样我就可以从异常消息中获得更多信息。异常消息显示类似categories[0] is not an integer的内容,所以我尝试使用一个整数列表。然后,它起作用了。但是只分配了一个类别,只有列表中的最后一个类别。在
那么,我如何在一篇文章中添加更多的类别呢?在
N1:id为13和{}的类别实际上存在于我的wordpress安装中。在
N2:我知道我可以创建一个草稿,然后创建新的请求来创建类别,然后使用update post端点将类别分配给post。。。但理论上,应该可以通过多个类别来创建post,因为它在引用xd中
N3:我不在乎安全。这不是要求。在import base64
import requests
r = requests.session()
wp_host = 'wphost.dev'
wp_username = 'FIXME'
wp_password = 'FIXME'
# BUILD BASIC AUTH STRING
basic_auth = str(
base64.b64encode('{user}:{passwd}'.format(
user=wp_username,
passwd=wp_password
).encode()
), 'utf-8')
# PARAMETERS TO POST REQUEST
p = {
'url': 'http://{wp_host}/wp-json/wp/v2/posts'.format(wp_host=wp_host),
'headers': {'Authorization': 'Basic {basic_auth}'.format(basic_auth=basic_auth)},
'data': {
'title': 'My title',
'content': 'My content',
'categories': [13, 16],
'status': 'publish',
},
}
# THE REQUEST ITSELF
r = r.post(url=p['url'], headers=p['headers'], data=p['data'])
# Output
print(r.content)
# ... "categories":[16],"tags":[] ...