الحصول على المستخدمين النشطين - عبر واجهة برمجة التطبيقات

أريد الحصول على عدد المستخدمين النشطين عبر واجهة برمجة التطبيقات، وهو نفس العدد الذي يتم تصديره. ما هي واجهة برمجة التطبيقات التي يجب أن أستخدمها للحصول عليه؟

بمعنى نشط: يوميًا، أسبوعيًا، شهريًا أم سنويًا؟

إعجاب واحد (1)

للحصول على جميع المستخدمين النشطين حاليًا، أي إجمالي عدد المستخدمين

إعجاب واحد (1)

إذًا تقصد جميع المستخدمين المتصلين بالإنترنت، أي أولئك الموجودين حاليًا في المنتدى في ذلك الوقت؟

إعجاب واحد (1)

ماذا عن /admin/users/list/active.json؟

ربما تساعد هذه الوثيقة؟

\u003chttps://docs.discourse.org/#tag/Users/operation/adminListUsers\u003e

انظر أيضًا

إعجابَين (2)

لا، إنه العدد الإجمالي للمستخدمين النشطين على الموقع، أي عدد الأشخاص الموجودين حاليًا على الموقع.

يمكنك سحب البيانات من {site url}/about.json، والحصول على قيمة المفتاح users_count. على سبيل المثال في 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": []
  }
}

الرقم users_count هو 61086.

نعم، حاليًا أستخدم بيانات المستخدم التي تم الحصول عليها من واجهة برمجة التطبيقات هنا، ولكنها لا تتطابق مع العدد الإجمالي لـ users_count على Meta: {site url}/about.json. أريد تحليل السبب.

هذا للحصول على العدد الإجمالي للمستخدمين، لكنني أريد الحصول على قائمة المستخدمين لأن عدد المستخدمين الذين أحصل عليهم من Discourse API Docs لا يتطابق مع users_count في {site url}/about.json، حيث أن العدد أقل بكثير.

مرحباً، ماذا عن استدعاء واجهة برمجة التطبيقات هذا (Discourse Docs)؟ على سبيل المثال، https://meta.discourse.org/directory_items.json?period=all&order=likes_received يحصل على جميع المستخدمين مرتبين حسب الإعجابات. يمكنك إضافة &page=2 و &page=3 في النهاية لمزيد من صفحات المستخدمين.

إعجاب واحد (1)

هل استخدمت المعلمة page للحصول على جميع الصفحات؟

إعجاب واحد (1)

نعم، يتم الحصول على البيانات عن طريق التقسيم إلى صفحات حتى لا يتم إرجاع بيانات، على سبيل المثال، هناك 34000+ سجل إجمالي، ولكن يتم الحصول على 30000+ فقط، ولا يمكنني التمييز بين أنواع المستخدمين التي لا يمكن الحصول عليها عبر واجهة برمجة التطبيقات.

إذًا، ماذا لو قمت بالتكرار عبر كل صفحة (ربما باستخدام شيء مثل Python) لزيادة رقم الصفحة وجلب البيانات حتى لا يتبقى المزيد من البيانات لجلبها؟ هل سينجح ذلك؟

إعجاب واحد (1)

أعتقد أن استخدام استعلام مستكشف البيانات سيكون أسهل طريقة للحصول على قائمة المستخدمين بأكملها.

إعجاب واحد (1)

نعم، لقد تم التعامل معها. كان الاختلاف السابق بسبب استخدام شروط افتراضية عند جلب البيانات عبر واجهة برمجة التطبيقات (API)، مما أدى إلى الحصول على المستخدمين النشطين فقط.