واجهة برمجة التطبيقات:أكّد

From mediawiki.org
This page is a translated version of the page API:Assert and the translation is 100% complete.
إصدار ميدياويكي:
1.23

يمكن ضبط معامل التأكيد لواجهة برمجة التطبيقات التي تحمل اسم Action لأي طلب واجهة برمجة تطبيقات للتحقق من شروط معينة قبل تنفيذ التصرف المطلوب.

الخيارات المتاحة كما يلي:

  • assert=anon: يتحقق من أنك تتصرف في صفة مستخدم آيبي . يمنع هذا الاستخدام العارض لحساب مسجل. منذ MW 1.35 Gerrit change 572374
  • assert=user: يتحقق من أنك تستخدم حساب مسجل (سواء كان «مسمى» أو مؤقت). يمنع هذا العودة العارضة إلى حساب آيبي.
  • assert=bot: يتحقق من أنك مسجل الدخول مستخدمًا حساب يتمتع بحقوق المستخدم الممنوحة لحساب «بوت ». يمنع هذا نصك البرمجي من التفاعل مع مواقع الويكي حيث لا يتمتع حسابك البوت بوسم بوت.
  • assertuser=...: يتحقق من أنك مسجل الدخول مستخدمًا حساب المستخدم المتوقع. منذ MW 1.28

لاحظ أن المستخدمين المؤقتين يستوفون assert=user، ولا يستوفون assert=anon.

الأخطاء المحتملة

لو لم ينجح التأكّد، سوف تحصل على واحد من أكواد الخطأ التالية:

  • assertanonfailed
  • assertuserfailed
  • assertbotfailed
  • assertnameduserfailed

المسوغ المنطقي وحالات الاستخدام

هذه المعاملات الغرض منها أن تكون خط دفاع ثاني للتصدي لنوعين اثنين من المشاكل:

أخطاء مشغلي البوتات

من السهل أن ينتج عن خطأ مشغل طفيف عدد كبير من التعديلات الخطأ، مثل أن يعمل البوت على موقع الويكي الخطأ أو بموجب حساب مستخدم خطأ، خاصة لو كنت تشغّل أكثر من مهمة بوت واحدة. الغرض من المعاملات assert=bot وassertuser=... أن تساعد في منع مثل تلك الأخطاء.

انتهاء صلاحية جلسة تسجيل الدخول

بعد تسجيل الدخول، تصبح ملفات تعريف الارتباط التي تتلقاها سارية الصلاحية لمدة 30 يوم بصفة تلقائية، وبعد هذه المدة سيسجل خروج البوت الذي تستخدمه، ويجوز أن يواصل عمله إلا أن تصرفاته سوف تنسب لعنوان الأيبي أو لحساب مستخدم مؤقت (لو كان المستخدمين مسجلو الخروج مسموح لهم بتنفيذ تلك التصرفات). الغرض من المعامل assert=user هو منع حدوث هذا الأمر.

التبديل بين حسابات المستخدمين

غالبًا ما ترغب الأدوات التفاعلية (في المتصفح) التي تستخدم واجهة برمجة التطبيقات في التعديل في التأكد من المستخدم يستوعب الطريقة التي سينسب بها عمله. حينما يسجل المستخدم الدخول أو الخروج من لسان متصفح آخر (أو حينما تنتهي صلاحية جلسة تسجيل الدخول)، لن يسري هذا على الفور في واجهة الأداة، إلا أن جلسة تسجيل الدخول الجديدة سوف تستخدم لأغراض حفظ التصرفات. الغرض من المعاملات assertuser=... وassert=anon هو السماح باكتشاف هذا السيناريو وعرض رسالة مناسبة قبل المتابعة.


التحقق من صفة الانفراد

لو كنت لا ترغب في سوى التحقق من عميلك لإتش تي تي بي مسجل الدخول إلى واجهة برمجة التطبيقات التي تحمل اسم Action أم لا دون تنفيذ أية تصرفات أخرى، يمكنك إرسال طلب مستخدمًا المعاملات action=query&assert=user. سيكون رد هذا الطلب هو رد خالي (أي {} بصيغة جيسون) لو كنت مسجل الدخول بالفعل، أو خطأ assertuserfailed لو لم تكن مسجل الدخول.

في المعتاد لن تحتاج لعمل طلب مستقل مثل هذا. خلاف ذلك، اضبط المعامل assert=user إلى كل طلب من طلباتك.