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

如何在本地部署的Confluence Data Center中获取页面浏览量?

针对Confluence Data Center获取页面浏览量的解决方案

核心思路

Confluence Data Center没有直接暴露浏览量的REST API,但可以通过两种可靠方式实现需求:

  • 直接查询Confluence数据库:浏览量数据存储在特定的统计表中,通过数据库查询可快速获取数据
  • 基于Confluence Java API开发插件:利用Confluence内部的统计管理类,通过自定义插件获取数据(符合官方规范)

方案一:数据库查询(快速落地)

步骤说明

  1. 确认Confluence使用的数据库类型(MySQL/PostgreSQL等),找到存储页面浏览量的表(通常表名包含PAGE_STATS)
  2. 通过页面ID关联查询,提取浏览次数

示例SQL(以MySQL为例)

假设目标页面ID为123456,执行以下查询:

SELECT page_id, view_count, last_viewed_date 
FROM AO_7B4953_PAGE_STATS 
WHERE page_id = 123456;

注意:表名前缀AO_7B4953可能因Confluence版本或安装环境变化,可通过数据库的information_schema.tables表搜索%PAGE_STATS%确认实际表名

Python代码示例(数据库连接查询)

import mysql.connector

def get_page_view_count(page_id, db_config):
    conn = mysql.connector.connect(**db_config)
    cursor = conn.cursor(dictionary=True)
    
    # 替换为实际环境中的统计表名
    cursor.execute("SELECT view_count FROM AO_7B4953_PAGE_STATS WHERE page_id = %s", (page_id,))
    result = cursor.fetchone()
    
    cursor.close()
    conn.close()
    
    return result['view_count'] if result else 0

# 数据库配置示例
db_config = {
    'host': 'localhost',
    'user': 'confluence_db_user',
    'password': 'your_db_password',
    'database': 'confluence'
}

# 获取指定页面的浏览量
print(get_page_view_count(123456, db_config))

方案二:Confluence Java插件开发(官方规范方式)

核心代码示例

通过Confluence内部API获取页面统计数据:

import com.atlassian.confluence.pages.Page;
import com.atlassian.confluence.pages.PageManager;
import com.atlassian.confluence.plugins.stats.manager.PageStatsManager;
import com.atlassian.spring.container.ContainerManager;

public class PageViewStatsFetcher {
    public static long getPageViewCount(long pageId) {
        // 获取页面管理实例
        PageManager pageManager = (PageManager) ContainerManager.getComponent("pageManager");
        Page targetPage = pageManager.getPage(pageId);
        
        if (targetPage == null) {
            return 0;
        }
        
        // 获取统计管理实例并查询浏览量
        PageStatsManager statsManager = (PageStatsManager) ContainerManager.getComponent("pageStatsManager");
        return statsManager.getViewCount(targetPage);
    }
}

说明:该方式需开发Confluence插件,打包后部署到Data Center环境,需遵循Atlassian插件开发规范,依赖Confluence内部组件

注意事项

  • 数据库查询方式需确保数据库账号拥有对应表的查询权限,Confluence版本升级后需验证表结构是否变化
  • Java插件方式稳定性更高,但需要插件开发和部署权限,适合长期维护的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 23:47:09