قرأت منشورًا في Discourse، ظننت أنني وجدت الرابط SITENAME.com/admin/users/list/all.json?email=some@email.com وهو ما أحتاجه، أي التحقق مما إذا كان موقع SSO الخاص بنا يحتوي على عضو في Discourse عبر استعلام واجهة برمجة تطبيقات Discourse (من واجهتنا البرمجية). لكن كيف؟ فالرابط أعلاه لا يعمل، ولو أمكنني ببساطة الحصول على قائمة بجميع المستخدمين، فسأقوم بتطبيق الفلتر/النتيجة بناءً على عنوان البريد الإلكتروني.
أظن أن هذا محمي جدًا أو غير قابل للوصول، أم هل هناك طريقة؟
@RGJ أنت محق! إنه يعمل حقًا!!! يبدو أن هناك مشكلة في اختبارات طلبات Postman الخاصة بي.
ومع ذلك، باستخدام طلب SuperAgent مثل:
let res = await superagent.get(`${this.baseUrl}/admin/users/list/active`)
.query({show_emails: true})
.set('Api-Key', this.apiKey)
.set('Api-Username', this.defaultDiscourseUser)
.set('Content-Type', 'application/json')
.set('Accept', 'application/json')
تمكنت من الحصول على عناوين البريد الإلكتروني.
أعتذر عن ذلك، لكن سيكون من الجيد وجود طلب API يُرجع ببساطة true/false إذا كان البريد الإلكتروني موجودًا. حاليًا، أقوم بجلب جميع المستخدمين (استجابة ثقيلة نوعًا ما لأنها تعيد جميع معلومات المستخدم) بينما كل ما أريده هو التحقق من وجود البريد الإلكتروني. في الواقع، أريد فقط أن يخبرني Discourse بـ true/false إذا كان المستخدم قد سجل الدخول هناك أولًا قبل القدوم إلى موقعنا.