Confluence Python API调用get_page_by_id返回登录页面HTML而非元数据
问题分析与解决方法
返回登录页面HTML的核心原因是请求未通过Confluence的身份验证,或者请求参数/配置存在错误,导致服务器重定向到登录界面。结合你的情况,按以下步骤排查:
检查认证信息有效性
- 确认用户名、密码是否有变更;如果Confluence启用了双因素认证(2FA),原密码无法用于API调用,需要改用API令牌(在Confluence账号设置中生成)替代密码。
- 验证账号是否还拥有目标页面的访问权限,有没有被管理员撤销权限。
修正代码中的参数错误
你的代码里get_page_by_id的参数verion=None是拼写错误,正确参数名是version,这个错误可能导致请求参数异常,触发服务器的错误处理流程:# 修正后的代码 metadata = confluence.get_page_by_id(self.ID, 'version,body.view', status=None, version=None)检查Confluence URL配置
确认URL是否正确,必须指向Confluence的wiki根路径,比如https://your-domain.atlassian.net/wiki,不要只填域名根地址(如https://your-domain.atlassian.net),否则API请求会被重定向到登录页。排查网络与环境变化
- 确认服务器IP是否被Confluence的防火墙/白名单拦截,导致请求无法正常到达API接口;
- 检查
confluence-python-api库版本,尝试更新到最新版本:pip install --upgrade confluence-python-api
验证API接口兼容性
如果Confluence服务器近期做了版本升级,可能API接口有变更,建议查看对应版本的Confluence API文档,确认get_page_by_id的参数和调用方式是否需要调整。
内容的提问来源于stack exchange,提问作者Fia1990
相关产品推荐
相关产品推荐

