مساعدة API ميدياويكي
هذه صفحة توثيق ميدياويكي API التي تم إنشاؤها تلقائيا.
وثائق وأمثلة: https://www.mediawiki.org/wiki/API
الوحدة الرئيسية
- المصدر:MediaWiki
- الترخيص: GPL-2.0-or-later
الحالة: API ميدياويكي هي واجهة ناضجة ومستقرة يتم دعمها وتحسينها بشكل نشط، في حين أننا نحاول تجنب ذلك، قد نحتاج في بعض الأحيان إلى إجراء تغييرات في التكسير، اشترك في القائمة البريدية لإعلان API ميدياويكي لإشعارات التحديثات.
الطلبات الخاطئة:عندما يتم إرسال طلبات خاطئة إلى API، سيتم إرسال رأس HTTP مع مفتاح "خطأ-API-ميدياويكي"، وبعد ذلك سترجع قيمة الرأس ورمز الخطأ المرتجع إلى يتم تعيينه على نفس القيمة، لمزيد من المعلومات; راجع API: Errors and warnings.
الاختبار:لسهولة اختبار طلبات API ; انظر Special:ApiSandbox.
- action
أي فعل للعمل.
- block
- منع مستخدم.
- changeauthenticationdata
- تغيير بيانات المصادقة للمستخدم الحالي.
- checktoken
- تحقق من صحة رمز من action=query&meta=tokens.
- clearhasmsg
- مسح
hasmsg
العلم للمستخدم الحالي. - clientlogin
- تسجيل الدخول إلى ويكي باستخدام التدفق التفاعلي.
- compare
- الحصول على الفرق بين صفحتين.
- createaccount
- إنشاء حساب مستخدم جديد
- cspreport
- مستخدمة من قبل المتصفحات للإبلاغ عن انتهاكات سياسة أمن المحتوى. لا ينبغي أبدا أن تستخدم هذه الوحدة، إلا عند استخدامها تلقائيا باستخدام متصفح ويب CSP متوافق.
- delete
- حذف صفحة.
- edit
- إنشاء وتعديل الصفحات.
- emailuser
- مراسلة المستخدم
- expandtemplates
- يوسع كافة القوالب ضمن نصوص الويكي.
- feedcontributions
- إرجاع تغذية مساهمات المستخدم.
- feedrecentchanges
- عرض خلاصة أحدث التغييرات.
- feedwatchlist
- إرجاع تغذية قائمة المراقبة.
- filerevert
- استرجع الملف لنسخة قديمة.
- help
- عرض مساعدة لوحدات محددة.
- imagerotate
- تدوير صورة واحدة أو أكثر.
- import
- استيراد صفحة من موقع ويكي آخر أو من ملف XML.
- linkaccount
- ربط حساب من موفر طرف ثالث للمستخدم الحالي.
- login
- سجل دخولك الآن واحصل على مصادقة الكوكيز.
- logout
- تسجيل الخروج ومسح بيانات الجلسة.
- managetags
- أداء المهام الإدارية المتعلقة بتغيير الوسوم.
- mergehistory
- ادمج تاريخ الصفحة.
- move
- نقل صفحة.
- opensearch
- بحث الويكي باستخدام بروتوكول أوبن سيرش OpenSearch.
- options
- تغيير تفضيلات المستخدم الحالي.
- paraminfo
- الحصول على معلومات حول وحدات API.
- parse
- يوزع المحتوى ويرجع مخرجات المحلل.
- patrol
- مراجعة صفحة أو مراجعة.
- protect
- غير مستوى الحماية لصفحة.
- purge
- مسح ذاكرة التخزين المؤقت للعناوين المعطاة
- query
- جلب البيانات من وعن ميدياويكي.
- removeauthenticationdata
- إزالة بيانات المصادقة للمستخدم الحالي.
- resetpassword
- إرسال بريد إلكتروني لإعادة تعيين كلمة المرور إلى مستخدم.
- revisiondelete
- حذف واسترجاع المراجعات.
- rollback
- التراجع عن آخر تعديل على الصفحة.
- rsd
- تصدير مخطط RSD (اكتشاف بسيط حقا).
- setnotificationtimestamp
- تحديث الطابع الزمني للإخطار للصفحات المراقبة.
- setpagelanguage
- تغيير لغة صفحة.
- stashedit
- إعداد تحرير في ذاكرة التخزين المؤقت المشتركة.
- tag
- إضافة أو إزالة وسوم التغيير من المراجعات الفردية أو إدخالات السجلات.
- unblock
- إلغاء منع المستخدم.
- undelete
- استعادة مراجعات صفحة محذوفة.
- unlinkaccount
- إزالة حساب جهة خارجية مرتبط من المستخدم الحالي.
- upload
- رفع ملف أو الحصول على حالة المرفوعات المعلقة.
- userrights
- تغيير عضوية مجموعة المستخدم.
- validatepassword
- التحقق من صحة كلمة السر ضد سياسات كلمة السر للويكي.
- watch
- إضافة أو إزالة صفحات من قائمة مراقبة المستخدم الحالي.
- tokens
- مهمل. الحصول على الرموز المميزة لإجراءات تعديل البيانات.
- إحدى القيم التالية: block، changeauthenticationdata، checktoken، clearhasmsg، clientlogin، compare، createaccount، cspreport، delete، edit، emailuser، expandtemplates، feedcontributions، feedrecentchanges، feedwatchlist، filerevert، help، imagerotate، import، linkaccount، login، logout، managetags، mergehistory، move، opensearch، options، paraminfo، parse، patrol، protect، purge، query، removeauthenticationdata، resetpassword، revisiondelete، rollback، rsd، setnotificationtimestamp، setpagelanguage، stashedit، tag، unblock، undelete، unlinkaccount، upload، userrights، validatepassword، watch، tokens
- الافتراضي: help
- format
صيغة الخرج.
- json
- بيانات الإخراج بتنسيق JSON.
- jsonfm
- بيانات الإخراج بتنسيق JSON (الطباعة بـHTML).
- none
- عدم إخراج أي شيء.
- php
- بيانات الإخراج بتنسيق PHP المتسلسل.
- phpfm
- بيانات الإخراج بتنسيق JSON (الطباعة بـHTML).
- rawfm
- بيانات الإخراج، بما في ذلك عناصر تصحيح الأخطاء، بتنسيق JSON (الطباعة بـHTML).
- xml
- بيانات الإخراج بتنسيق XML.
- xmlfm
- بيانات الإخراج بتنسيق XML (الطباعة بـHTML).
- إحدى القيم التالية: json، jsonfm، none، php، phpfm، rawfm، xml، xmlfm
- الافتراضي: jsonfm
- maxlag
يمكن استخدام التأخر الأقصى عند تثبيت ميدياويكي على قاعدة بيانات مكررة، لحفظ الإجراءات التي تتسبب في أي تأخير أكثر في النسخ المتماثل للموقع; يمكن أن يجعل هذا الوسيط العميل ينتظر حتى يكون تأخر النسخ المتماثل أقل من القيمة المحددة، في حالة التأخير المفرط، يتم إرجاع رمز الخطأ maxlag برسالة مثل Waiting for $host: $lag seconds lagged،
انظر دليل: الوسيط maxlag لمزيد من المعلومات.- النوع: عدد صحيح
- smaxage
تعيين رأس التحكم في ذاكرة التخزين المؤقت HTTP
s-maxage
إلى هذه الثواني العديدة، لا يتم تخزين الأخطاء مؤقتا أبدا.- النوع: عدد صحيح
- الافتراضي: 0
- maxage
تعيين رأس التحكم في ذاكرة التخزين المؤقت HTTP
max-age
إلى هذه الثواني العديدة، لا يتم تخزين الأخطاء مؤقتا أبدا.- النوع: عدد صحيح
- الافتراضي: 0
- assert
تحقق من تسجيل دخول المستخدم إذا كان مضبوطا على user، أو إذا كان لديه صلاحية البوت إذا bot.
- إحدى القيم التالية: user، bot
- assertuser
التحقق من أن المستخدم الحالي هو المستخدم المسمى.
- النوع: اسم مستخدم
- requestid
سيتم إدراج أي قيمة معينة هنا في الاستجابة. يمكن أن تُستخدَم لتمييز الطلبات.
- servedby
تتضمن اسم المضيف الذي الخدم طلب في النتائج.
- النوع: منطقية (التفاصيل)
- curtimestamp
تشمل الطابع الزمني الحالي في النتيجة.
- النوع: منطقية (التفاصيل)
- responselanginfo
تشمل اللغات المستخدمة لأجل uselang and errorlang في النتيجة.
- النوع: منطقية (التفاصيل)
- origin
عند الوصول إلى API باستخدام طلب AJAX عبر النطاقات (CORS)، اضبطها على النطاق الأصلي، يجب تضمين هذا في أي طلب ما قبل الطيران، وبالتالي يجب أن يكون جزءا من طلب URI (وليس جسم POST).
بالنسبة للطلبات المصادقة، يجب أن يتطابق هذا مع أحد المصادر الموجودة في الرأس
Origin
بالضبط; لذا يجب تعيينه على شيء مثلhttps://en.wikipedia.org أو https://meta.wikimedia.org، إذا لم يتطابق هذا الوسيط مع الرأسOrigin
، فسيتم إرجاع استجابة 403، إذا كان هذا الوسيط مطابقا للرأسOrigin
، ستتم إضافة الأصل إلى القائمة البيضاء، سيتم تعيين الرؤوسAccess-Control-Allow-Origin
وAccess-Control-Allow-Credentials
.بالنسبة للطلبات غير المصادقة، حدد القيمة *، سيؤدي ذلك إلى تعيين الرأس
Access-Control-Allow-Origin
، ولكنAccess-Control-Allow-Credentials
سيكونfalse
وسيتم تقييد كل البيانات الخاصة بالمستخدم.- uselang
اللغة المستخدمة لترجمة الرسائل. action=query&meta=siteinfo بـsiprop=languages يقوم بإرجاع قائمة أكواد اللغة، أو تحديد user لاستخدام تفضيل اللغة للمستخدم الحالي، أو تحديد content لاستخدام لغة محتوى الويكي هذا.
- الافتراضي: user
- errorformat
تنسيق لاستخدامه في التحذير وإخراج نص الخطأ.
- نص عادي
- إزالة نص الويكي ذي وسوم HTML واستبدال الكيانات.
- نص الويكي
- نص ويكي غير مقتبس.
- html
- HTML.
- خام
- مفتاح ووسائط الرسالة.
- لا شيء
- لا يوجد إخراج نص، فقط رموز الخطأ.
- bc
- التنسيق المستخدم قبل ميدياويكي 1.29، يتم تجاهل errorlang وerrorsuselocal.
- إحدى القيم التالية: plaintext، wikitext، html، raw، none، bc
- الافتراضي: bc
- errorlang
لغة لاستخدامها في التحذيرات والأخطاء. action=query&meta=siteinfo بـsiprop=languages يقوم بإرجاع قائمة أكواد اللغة، أو تحديد content لاستخدام لغة محتوى الويكي هذا، أو تحديد uselang لاستخدام نفس القيمة كوسيط uselang.
- الافتراضي: uselang
- errorsuselocal
إذا ما أعطيت، النصوص الخطأ ستستخدم الرسائل المخصصة محليا من نطاق ميدياويكي.
- النوع: منطقية (التفاصيل)
- مساعدة للوحدة الرئيسية.
- api.php?action=help [فتح في ملعب]
- كل المساعدة في صفحة واحدة.
- api.php?action=help&recursivesubmodules=1 [فتح في ملعب]
أنواع البيانات
يجب أن يكون الإدخال إلى ميدياويكي هو UTF-8 المعيَّن لـNFC، قد يحاول ميدياويكي تحويل مدخلات أخرى، ولكن قد يتسبب ذلك في فشل بعض العمليات (مثل التعديلات مع عمليات فحص MD5).
تحتاج بعض أنواع الوسائط في طلبات API إلى مزيد من الشرح:
- منطقية
- تعمل الوسائط المنطقية مثل صناديق اختيار HTML: إذا تم تحديد الوسيط، بغض النظر عن القيمة، فيتم اعتباره صحيحا، للحصول على قيمة خاطئة; احذف الوسيط تماما.
- الطابع الزمني
- قد يتم تحديد الطوابع الزمنية بتنسيقات متعددة، يُوصَى بـISO 8601 التاريخ والوقت، جميع الأوقات بالتوقيت العالمي المنسق، يتم تجاهل أية منطقة زمنية مضمنة.
- تاريخ ووقت ISO 8601، 2001-01-15T14:56:00Z (علامات الترقيم وZ اختيارية)
- تاريخ ووقت ISO 8601مع الثواني المجزأة (متجاهلة)، 2001-01-15T14:56:00.00001Z (الشرطات، والنقطتان الرأسيتان اختيارية وZ)
- تنسيق ميدياويكي، 20010115145600
- تنسيق رقمي عام، (توقيت اختياري، أو يتم تجاهل) 2001-01-15 14:56:00 (منطقة زمنية اختيارية لـGMT، +##، أو يتم تجاهل -##)
- تنسيق EXIF، 2001:01:15 14:56:00
- تنسيق RFC 2822 (قد يتم حذف المنطقة الزمنية)، Mon, 15 Jan 2001 14:56:00
- تنسيق RFC 850 format (قد يتم حذف المنطقة الزمنية)، Monday, 15-Jan-2001 14:56:00
- تنسيق C ctime format, Mon Jan 15 14:56:00 2001
- الثواني منذ 1970-01-01T00:00:00Z كعدد صحيح يتراوح بين 1 و13 (باستثناء 0)
- السلسلة now
- فاصل بديل متعدد القيم
- يتم عادةً إرسال الوسائط التي تأخذ قيم متعددة مع القيم المفصولة باستخدام حرف الأنبوب، على سبيل المثال param=value1|value2 or param=value1%7Cvalue2 إذا كانت القيمة يجب أن تحتوي على حرف الأنبوب، فاستخدم U+001F (فاصل الوحدة) مثل الفاصل و بادئة القيمة بـU+001F، على سبيل المثال param=%1Fvalue1%1Fvalue2.
وسائط القالب
تدعم وسائط القوالب الحالات التي تحتاج فيها API إلى قيمة لكل قيمة من وسيط آخر، على سبيل المثال، إذا كانت هناك وحدة API لطلب الفاكهة، فإنه قد يكون لديك وسيط fruits لتحديد أي الفواكه تم طلبها ووسيط قالب {fruit}-quantityلتحديد عدد الفواكه لكل طلب، يمكن لعميل API الذي يريد 1 تفاحة، 5 موز، 20 فراولة ثم تقديم طلب مثل fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20.
الإحالات
مطورو API:
- يوري أستراخان (مبتكر، المطور الرئيسي سبتمبر 2006 - سبتمبر 2007)
- روان كاتو (المطور الرئيسي سبتمبر 2007-2009)
- فيكتور فاسيليف
- برايان تونغ مينه
- سام ريد
- براد يورش (المطور الرئيسي 2013 - الآن)
يُرجَى إرسال تعليقاتك واقتراحاتك وأسئلتك لـmediawiki-api@lists.wikimedia.org أو إرسال تقريرا عن خطأ في https://phabricator.wikimedia.org/.