Gostaria de obter o número de usuários ativos através da API, exatamente o mesmo que é exportado, qual API devo usar para obter isso?
Ativo em que sentido: diário, semanal, mensal ou anual?
Para obter, todos os usuários ativos atualmente, ou seja, o número total de usuários
Então você quer dizer todos os usuários online, ou seja, aqueles que estão atualmente no fórum naquele momento?
E quanto a /admin/users/list/active.json?
Talvez esta documentação ajude?
https://docs.discourse.org/#tag/Users/operation/adminListUsers
Veja também
Não, é o número total de usuários válidos do site, ou seja, quantas pessoas existem no site agora.
Você pode obter os dados de {site url}/about.json e pegar o valor da chave users_count. Por exemplo, no 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, // Este valor aqui!
"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": "Saiba mais e discuta sobre o Discourse, o software de fórum open-source de próxima geração.",
"extended_site_description": "<p>Um lugar para a comunidade Discourse se reunir, fazer perguntas, oferecer suporte uns aos outros e compartilhar feedback muito apreciado.</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": []
}
}
o número users_count é 61086.
Sim, no momento estou usando os dados do usuário obtidos pela API aqui, mas eles não correspondem ao número total de users_count em Meta: {site url}/about.json. Gostaria de analisar o motivo.
Este é para obter o número total de usuários, mas o que eu quero é a lista de usuários, porque o número de usuários que obtenho através de Discourse API Docs não corresponde ao users_count em {site url}/about.json, faltam muitos usuários.
Olá, e quanto a esta chamada de API (Discourse Docs? Por exemplo, https://meta.discourse.org/directory_items.json?period=all&order=likes_received obtém todos os usuários ordenados por curtidas. Você pode adicionar &page=2, &page=3 no final para mais páginas de usuários.
Você usou o parâmetro page para obter todas as páginas?
Sim, a paginação é obtida até que nenhum dado seja retornado, por exemplo, há mais de 34.000 no total, mas apenas mais de 30.000 são obtidos. Não consigo distinguir quais usuários em quais status não podem ser obtidos pela interface da API.
E se você percorresse cada página (talvez usando algo como Python) para incrementar o número da página e buscar os dados até que não houvesse mais dados para buscar? Isso funcionaria?
Eu acho que usar uma consulta do explorador de dados seria a maneira mais fácil de obter toda a lista de usuários.
Sim, já foi resolvido. A diferença anterior ocorreu porque, ao obter dados via API, foram usadas condições padrão, que só retornam usuários ativos.