مفتاح الواجهة البرمجية (API Key) والمستخدم معرفان في رأس الطلب (Header).
يؤدي هذا الطلب إلى الاستجابة التالية:
Status: 200 OK
{
"success": true,
"active": false,
"message": "<p>أنت على وشك الانتهاء! لقد أرسلنا بريدًا إلكترونيًا للتفعيل إلى <b>example address</b>. يرجى اتباع التعليمات الواردة في البريد الإلكتروني لتفعيل حسابك.</p><p>إذا لم تصلك أي رسالة بريد إلكتروني، يرجى التحقق من مجلد البريد العشوائي (Spam).</p>"
}
ولكن لا يظهر أي مستخدم مضاف في نظام Discourse؟
في مثال الاستجابة الوارد في الوثائق (Discourse API Docs)، يوجد معرف مستخدم (user id).
هل لدى أحدكم فكرة حول السبب وراء عدم الحصول على معرف مستخدم في الاستجابة؟
في طلب المثال الخاص بي، استخدمت المعلمة “active”: true، لكنني في الاستجابة حصلت على “active”: false، لذا لا يمكن تفعيل المستخدم - ربما لأنه لم يتم إنشاؤه بعد؟
بغض النظر عن ذلك:
إذا لم أرسل المعلمة “active”: true في طلبي، فلن يتم إرسال بريد إلكتروني للمستخدم.
شكرًا جزيلاً، أردت فقط التأكد من أنك لم تكن تستخدم إصدارًا قديمًا.
أنا متأكد تقريبًا من أن بيانات الاعتماد الخاصة بك لا يتم تمريرها بشكل صحيح عند إجراء هذا الطلب. هذه النقطة النهاية خاصة نوعًا ما لأنها تُستخدم في نموذج التسجيل ولا تتطلب في الواقع بيانات اعتماد API لاستخدامها. الاستجابة التي تتلقاها هي عندما يسجل مستخدم جديد، لكننا نكتشف أن الطلب ليس طلب API.
هل يمكنك تجربة إجراء طلب API آخر يتطلب المصادقة، مثل إنشاء فئة، ورؤية ما إذا كان ذلك يعمل؟ يمكنك أيضًا التحقق من صفحة API للمسؤول ومعرفة متى تم استخدام المفتاح آخر مرة لمعرفة ما إذا كان يتم استخدامه بشكل صحيح في طلب إنشاء المستخدم الخاص بك.
تمكنت من تكرار مشكلتك عن طريق إجراء طلب JSON بدون بيانات اعتماد:
طلب JSON بدون بيانات اعتماد
curl -i -sS -X POST "http://localhost:3000/users.json" -H "Content-Type: application/json" -d "{\"name\": \"8525f374d470a2e3f22c\", \"active\": \"true\", \"username\": \"8525f374d470a2e3f22c\", \"email\": \"8525f374d470a2e3f22c@example.com\", \"password\": \"65d18e465472452771e02b3462260ea1\"}"
HTTP/1.1 200 OK
{"success":true,"active":false,"message":"\u003cp\u003eأنت على وشك الانتهاء! لقد أرسلنا بريدًا إلكترونيًا لتفعيل الحساب إلى \u003cb\u003e8525f374d470a2e3f22c@example.com\u003c/b\u003e. يرجى اتباع التعليمات الواردة في البريد لتفعيل حسابك.\u003c/p\u003e\u003cp\u003eإذا لم يصل البريد، تحقق من مجلد البريد غير المرغوب فيه.\u003c/p\u003e"}