Ik wil het aantal actieve gebruikers via de API krijgen, precies hetzelfde als wat wordt geëxporteerd, welke API moet ik gebruiken om dit te krijgen?
Actief in welke zin: dagelijks, wekelijks, maandelijks of jaarlijks?
Om alle actieve gebruikers te krijgen, oftewel het totale aantal gebruikers
Bedoel je dus alle online gebruikers, dus diegene die op dat moment op het forum zijn?
what about /admin/users/list/active.json?
maybe this doc will help?
https://docs.discourse.org/#tag/Users/operation/adminListUsers
also see
Nee, het gaat om het totale aantal geldige gebruikers op de website, dus hoeveel mensen er momenteel op de website zijn.
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.
Ja, momenteel gebruik ik de API hier om gebruikersgegevens te verkrijgen, maar deze komt niet overeen met het totale aantal op Meta: {site url}/about.json users_count. Ik wil de oorzaak analyseren.
This is to get the total number of users, but I want to get the user list. This is because the number of users I get from https://docs.discourse.org/#tag/Users/operation/adminListUsers is not the same as the users_count from {site url}/about.json, and many users are missing.
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.
Did you use the page parameter to get all pages?
Ja, de gegevens worden paginagewijs opgehaald totdat er geen gegevens meer worden geretourneerd. Bijvoorbeeld, er zijn meer dan 34.000 items in totaal, maar er worden er slechts meer dan 30.000 verkregen. Ik kan niet onderscheiden welke gebruikersstatus niet kan worden verkregen via de API-interface.
Dus wat als je door elke pagina zou lussen (misschien met iets als Python) om het paginanummer te verhogen en de gegevens op te halen totdat er geen gegevens meer zijn om op te halen? Zou dat werken?
I think using a data explorer query would be the easiest way to get the whole user list.
Ja, het is afgehandeld. Het eerdere verschil kwam doordat bij het ophalen van gegevens via de API standaardvoorwaarden werden gebruikt, waardoor alleen actieve gebruikers werden opgehaald.