لدي نص برمجي يعمل يوميًا لإنشاء مستخدمين جدد عبر واجهة برمجة التطبيقات. حتى قبل بضعة أيام، عندما كان المنشور يكتمل، كان الرد يتضمن user_id للمستخدم الذي تم إنشاؤه حديثًا. الآن لم تعد واجهة برمجة التطبيقات تفعل ذلك؟ لكن وثائق واجهة برمجة التطبيقات تشير إلى أنها يجب أن تفعل ذلك؟
هل يتم إنشاء المستخدم؟
تخميني هو أنه لسبب ما لم يتم إنشاء المستخدم وهذا هو السبب في عدم إرجاع user_id.
يتم إنشاء المستخدمين. لقد تأكدت. وتعطي الواجهة الخلفية هذه الحالة ولكنها تفتقد إلى user_id
{
"success": true,
"active": true,
"message": "Your account is activated and ready to use."
}
نعم. يبدو أن هذا خطأ برمجي إذن. بحثت عن تفسيرات في Commits · discourse/discourse · GitHub لكنني لم أجد شيئًا.
لتأكيد المشكلة، قمت بإنشاء مستخدم عبر واجهة برمجة التطبيقات (API) على الإصدار 3.4.0.beta3-dev وأعاد الاستجابة user_id في الرد.
{
"success": true,
"active": true,
"message": "Your account is activated and ready to use.",
"user_id": 3
}
كررت ذلك مرة أخرى بعد الترقية إلى الإصدار 3.4.0.beta4-dev واختفى user_id بعد ذلك:
{
"success": true,
"active": true,
"message": "Your account is activated and ready to use."
}
لقد قمت بتضييق نطاق مكان الالتزام الخاطئ.
مجرد تخمين
من المحتمل أن يكون مرتبطًا بـ DEV: Change hide_email_address_taken default to true (#30293) · discourse/discourse@c1c7ea8 · GitHub المشروح هنا:
أعتقد أنه سيكون من المرغوب فيه تجاوز هذا السلوك عندما يكون طلبًا تم إجراؤه باستخدام مفتاح واجهة برمجة تطبيقات للمسؤول؟
شكراً لك! أدى تغيير هذا الإعداد إلى استعادة نتيجة واجهة برمجة التطبيقات بحيث أحصل على user_id في النتيجة بعد إنشاء مستخدم.
مرحباً،
نفس الشيء هنا…
هل هذا شيء يعمل عليه المطورون حاليًا؟ لأنه قد يكون من الصعب تذكر أن هذه الإعدادات تتعارض مع المستندات ![]()