Confluence XML-RPC:设置“创建”日期

1 投票
2 回答
1149 浏览
提问于 2025-04-16 23:27

我正在尝试用Python通过XML-RPC把一些现有的博客文章迁移到我们的Confluence维基上。目前可以成功处理标题、内容、空间等信息,但创建日期却无法正常工作。

这是我目前尝试的内容:

import xmlrpclib

proxy=xmlrpclib.ServerProxy('<my_confluence>/rpc/xmlrpc')
token=proxy.confluence1.login('username', 'password')

page = {
    'title':'myTitle',
    'content':'My Content',
    'space':'myspace',
    'created':sometime
}

proxy.confluence1.storePage(token, page)

sometime是我想设置为过去某个时间的日期。我试过使用日期对象、各种字符串格式,甚至还用了之前保存时返回的日期对象,但都没有成功。

2 个回答

0

你可以使用 strptime,因为类型不会直接匹配。希望这个方法有效。

new_sometime = datetime.strptime(sometime, '%Y-%m-%d')
page = {
    'title':'myTitle',
    'content':'My Content',
    'space':'myspace',
    'created':new_sometime
}
1

如果你想把现有的内容作为真正的博客文章存储在Confluence里,你可以使用“publishDate”这个参数:

import xmlrpclib
import datetime

proxy=xmlrpclib.ServerProxy('<my_confluence>/rpc/xmlrpc')
token=proxy.confluence1.login('username', 'password')

blogpost = {
    'title' : 'myTitle',
    'content' : 'My Content',
    'space' : 'myspace',
    'publishDate' : datetime.datetime(2001, 11, 21, 16, 30)
}

proxy.confluence1.storeBlogEntry(token, blogpost)

不过,页面的XML-API会忽略“created”这个参数。

撰写回答