You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python调用Atlassian API创建Confluence页面报错如何解决

问题1答复:是否需要先创建对应space?

是。Confluence中所有页面必须归属到一个已存在的空间下,你代码中指定的TEST空间不存在,是触发本次报错的直接原因。你可以选择两种方式修复:

  • 提前在Confluence中创建key为TEST的空间,并确认你有该空间的页面创建权限
  • 将代码中space参数修改为你已有权限、且真实存在的空间key

其他可能触发该报错的常见原因

  • 同层级标题重复:目标父页面下已经存在标题为Made by Python的页面,Confluence默认不允许同父级下的页面标题完全重复。可以添加update_existing=True参数覆盖已有页面,或者修改为不重复的标题
  • 空间与父页面不匹配:传入的parentId所属的空间和代码中指定的space参数不一致,比如父页面属于DEV空间,你指定写入TEST空间就会触发报错。建议先查询父页面所属的空间key,和代码参数保持一致
  • 内容格式不符合要求:body参数需要传入标准HTML格式内容,直接传入纯文本在部分版本的Confluence实例中会被拒绝。可以把纯文本内容包裹在<p>标签中传入
  • 权限不足:虽然你有父页面的写入权限,但如果对代码中指定的空间没有页面创建权限,也会触发该报错,需要确认你对目标空间有对应权限
  • SDK版本兼容问题:旧版本的atlassian Python SDK参数规则存在差异,可以尝试升级SDK到最新版本后重试:pip install --upgrade atlassian-python-api

修复后参考代码

from atlassian import Confluence  

def writeConfluencePage(confluenceBaseUrl,parentId,user,password):  
    # 连接Confluence
    confluence = Confluence(url=confluenceBaseUrl, username=user, password=password)
    
    # 查询父页面所属空间,自动匹配避免参数不匹配
    parent_page_info = confluence.get_page_by_id(parentId)
    target_space_key = parent_page_info['space']['key']
    
    # 创建页面,增加兼容参数
    status = confluence.create_page(
        space=target_space_key, 
        parent_id=parentId,
        title='Made by Python',  
        body='<p>This is the body</p>',
        update_existing=True
    )
      
    print(status)

内容的提问来源于stack exchange,提问作者Michael Hecht

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 12:57:03