مساعدة API ميدياويكي

هذه صفحة توثيق ميدياويكي API التي تم إنشاؤها تلقائيا.

وثائق وأمثلة: https://www.mediawiki.org/wiki/API

الوحدة الرئيسية

الحالة: API ميدياويكي هي واجهة ناضجة ومستقرة يتم دعمها وتحسينها بشكل نشط، في حين أننا نحاول تجنب ذلك، قد نحتاج في بعض الأحيان إلى إجراء تغييرات في التكسير، اشترك في القائمة البريدية لإعلان API ميدياويكي لإشعارات التحديثات.

الطلبات الخاطئة:عندما يتم إرسال طلبات خاطئة إلى API، سيتم إرسال رأس HTTP مع مفتاح "خطأ-API-ميدياويكي"، وبعد ذلك سترجع قيمة الرأس ورمز الخطأ المرتجع إلى يتم تعيينه على نفس القيمة، لمزيد من المعلومات; راجع API: Errors and warnings.

وسائط:
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 [فتح في ملعب]
الأذونات:
writeapi
استخدام API للكتابة
ممنوحة لـ: all، user و bot
apihighlimits
استخدم حدودا أعلى في استعلامات API (استعلامات بطيئة: 500، استعلامات سريعة: 5000)، تنطبق حدود الاستعلامات البطيئة أيضا على وسائط متعددة القيم.
ممنوحة لـ: bot و sysop

أنواع البيانات

يجب أن يكون الإدخال إلى ميدياويكي هو 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/.