Ottenere utenti attivi - tramite API

我想通过API得到活跃用户数,就是和导出来的是一模一样的,我该通过哪个API来获取呢

Active in what sense: daily, weekly, monthly or yearly?

想要获得,目前所有活跃的用户,即是用户总量

1 Mi Piace

So you mean all online users, i.e. those that are currently on the forum at that time?

1 Mi Piace

what about /admin/users/list/active.json?

maybe this doc will help?

https://docs.discourse.org/#tag/Users/operation/adminListUsers

also see

2 Mi Piace

不是,是网站所有有效用户数,就是网站现在一共有多少个人

You can pull the data from {site url}/about.json, and get the users_count key’s value. For example on Meta:

{
  "about": {
    "stats": {
      "topics_last_day": 16,
      "topics_7_days": 99,
      "topics_30_days": 553,
      "topics_count": 60801,
      "posts_last_day": 549,
      "posts_7_days": 3352,
      "posts_30_days": 19273,
      "posts_count": 1722045,
      "users_last_day": 23,
      "users_7_days": 132,
      "users_30_days": 713,
      "users_count": 61086, // This value here!
      "active_users_last_day": 535,
      "active_users_7_days": 1219,
      "active_users_30_days": 2518,
      "likes_last_day": 169,
      "likes_7_days": 1547,
      "likes_30_days": 10833,
      "likes_count": 1641538,
      "participating_users_last_day": 119,
      "participating_users_7_days": 373,
      "participating_users_30_days": 912,
      "visitors_last_day": 2161,
      "visitors_7_days": 4468,
      "visitors_30_days": 8669,
      "eu_visitors_last_day": 653,
      "eu_visitors_7_days": 1206,
      "eu_visitors_30_days": 2022,
      "chat_messages_last_day": 72,
      "chat_messages_7_days": 707,
      "chat_messages_30_days": 3015,
      "chat_messages_previous_30_days": 3621,
      "chat_messages_count": 99670,
      "chat_users_last_day": 8,
      "chat_users_7_days": 27,
      "chat_users_30_days": 67,
      "chat_users_previous_30_days": 87,
      "chat_users_count": 925,
      "chat_channels_last_day": 3,
      "chat_channels_7_days": 8,
      "chat_channels_30_days": 39,
      "chat_channels_previous_30_days": 36,
      "chat_channels_count": 3117
    },
    "description": "Learn about and discuss Discourse, the next-generation open-source forum software.",
    "extended_site_description": "<p>A place for the Discourse community to meet, ask questions, provide support to one other, and share much-appreciated feedback.</p>",
    "banner_image": "https://d11a6trkgmumsb.cloudfront.net/original/4X/8/3/5/835377a3ea23f75e6c6c08ed3d7d606a0f2c3e72.jpeg",
    "site_creation_date": "2016-02-17T07:50:40.228Z",
    "title": "Discourse Meta",
    "locale": "en",
    "version": "3.6.0.beta1-dev",
    "https": true,
    "can_see_about_stats": true,
    "contact_url": "",
    "contact_email": "team@discourse.org",
    "moderator_ids": [
      127856,
      112395,
      8307,
      8571,
      140271
    ],
    "admin_ids": [],
    "category_moderators": []
  }
}

the users_count number is 61086.

是的 目前我就使用这里的API得到的用户数据 但是和 在 Meta 上:{site url}/about.json users_count的总数量对不上 我想分析原因

这个是获取用户的总数 但是我想得到的是用户列表 因为我通过Discourse API Docs {site url}/about.json users_count对不少 ,会少很多用户

Hi there, what about this (Discourse Docs) API call? For example, https://meta.discourse.org/directory_items.json?period=all&order=likes_received gets all the users ordered by likes. You can add &page=2, &page=3 at the back for more pages of users.

1 Mi Piace

Did you use the page parameter to get all pages?

1 Mi Piace

是的 分页获取的直到没有数据返回,比如总数有34000+,但是得到的只有30000+,我分辨不清楚是有什么状态的用户通过API接口无法获取

So what if you looped through each page (maybe using something like Python) to increment the page number and fetch the data until there’s no data left to fetch? Would that work?

1 Mi Piace