مرحبًا. عند استخدام عملية مفتاح API لكل مستخدم للحصول على مفتاح API خاص بالمستخدم من نظام Discourse، هل من الممكن أيضًا استرجاع اسم المستخدم في نفس الوقت؟
وجدت حلاً بديلاً: إذا كان لديك المفتاح، فعند إجراء مكالمة مصادقة إلى واجهة برمجة تطبيقات Discourse، يتم إرجاعه كرأس “x-discourse-username: username”. شكرًا لـ @RGJ على التلميح.
على سبيل المثال، يمكنك استعادة المفتاح من Discourse، ثم استخدامه في مكالمة API إلى نقطة نهاية مثل /site.json.
بعد ذلك، قم بتحليل رؤوس الاستجابة، مثل:
....then((response) => {
var headerResponseArray = (JSON.stringify(response.headers)).split(',')
headerResponseArray.forEach((h) => {
if (h.includes('x-discourse-username')) {
var userNameRaw = h.split(':')[1].trim()
}
})
})
سيظل الأمر أسرع لو أمكنني الحصول على اسم المستخدم مباشرةً عندما يرسل Discourse مفتاح API الخاص بالمستخدم نفسه. إذا كان لدى أي شخص طريقة للقيام بذلك، يرجى إخباري.