通过Python操作Confluence:附件链接无法正常显示求助
问题原因及解决方案
你的代码里的Confluence宏语法存在两个关键问题,导致链接无法正常渲染:
1. 附件链接宏的结构错误
你在<ri:attachment>标签内部嵌套了<ri:page>标签,这不符合Confluence的AC宏规范。正确的写法是在<ri:attachment>标签上添加ri:page-id属性来关联文件所在的页面,而不是嵌套子标签。
错误写法:
<ri:attachment ri:filename="File_name.docx"> <ri:page ri:content-title="Title_name" /> </ri:attachment>
正确写法(指定页面ID):
<ri:attachment ri:filename="File_name.docx" ri:page-id="00000000" />
如果文件就附加在当前编辑的页面,也可以省略ri:page-id,只保留ri:filename。
2. 缺少可点击的链接文本
你的<ac:link>中没有包含<ac:plain-text-link-body>标签来定义链接显示的文本。Confluence需要这个标签来渲染出可点击的蓝色链接,否则只会显示灰色的占位样式。
补充后的完整单元格代码示例:
<td> <div class="content-wrapper"> <p> <ac:link> <ri:attachment ri:filename="File_name.docx" ri:page-id="00000000" /> <ac:plain-text-link-body><![CDATA[File_name.docx]]></ac:plain-text-link-body> </ac:link> </p> </div> </td>
额外注意事项
- 确保
ri:page-id的值是你上传文件时使用的page_id(即00000000),不要用页面标题,因为标题可能重复导致定位失败。 - 上传文件后,确认页面内容更新时使用的是存储格式(storage format),Confluence API更新页面时需要指定格式为
storage。
内容的提问来源于stack exchange,提问作者Anastasia
相关产品推荐
相关产品推荐

