API:Veri biçimleri
Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır. |
Giriş
API, girişini HTTP isteği tarafından sağlanan application/x-www-form-urlencoded
veya multipart/form-data
biçimindeki parametreler aracılığıyla alır.
(unlike REST API, the Action API currently does not support application/json input format.)
Her modülün ve alt modülün, belgelerde ve action=help içinde listelenen kendi parametre seti vardır. Ayrıca action=paraminfo aracılığıyla da alınabilirler.
Kodlama
Tüm girişler UTF-8, NFC biçiminde geçerli olmalıdır. MediaWiki, bir hatayla sonuçlanabilecek diğer biçimleri dönüştürmeye çalışır.
Çoklu değerli parametreler
Birden çok değer alan parametreler normalde dikey çizgi karakteri (|
) kullanılarak ayrılmış değerlerle gönderilir, ör. param=value1|value2
.
Bir değer kendi içinde boru karakterini içeriyorsa, ayırıcı olarak U+001F (Birim Ayırıcı) kullanın ve değerin önüne U+001F ekleyin, ör. param=%1Fvalue1%1Fvalue2
.
Bir parametrenin birden fazla değeri kabul edip etmemesi modül belgelerinde açıkça listelenir.
Boole parametreleri
Bir HTTP isteğinde bir boolean parametresi belirtilirse, değerinden bağımsız olarak doğru kabul edilir. Yanlış bir değer için parametreyi tamamen atlayın.
Bir HTTP isteğinde gerçek bir parametre belirtmenin en iyi yolu someParam=
; sondaki =
, tarayıcının veya HTTP kütüphanesinin "boş" someParam atmamasını sağlar.
Zaman damgaları
Zaman damgası değerleri alan parametreler birden çok zaman damgası biçimini kabul eder:
- ISO 8601 biçimi:
2008-08-23T18:05:46Z
. - MediaWiki'nin dahili zaman damgası biçimi :
20080823180546
. - MySQL'in dahili zaman damgası biçimi:
2008-08-23 18:05:46
. - UNIX zaman damgası biçimi
1219514746
(1 Ocak 1970'ten bu yana geçen saniye sayısı).
Zaman damgaları her zaman ISO 8601 biçiminde çıkarılır.
Çıkış
MediaWiki'deki standart ve varsayılan çıktı biçimi JSON'dur. Diğer tüm biçimler önerilmez.
Çıkış biçimi her zaman format=yourformat
kullanılarak belirtilmelidir ve yourformat aşağıdakilerden biri olur:
json
: JSON biçimi. (önerilen)php
: serileştirilmiş PHP biçimi. (kaldırıldı)xml
: XML biçimi (kaldırıldı)txt
: PHP print_r() biçimi. (1.27 sürümünde kaldırıldı)dbg
: PHP var_export() biçimi. (1.27 sürümünde kaldırıldı)yaml
: YAML biçimi. (1.27 sürümünde kaldırıldı)wddx
: WDDX biçimi. (1.26 sürümünde kaldırıldı)dump
: PHP var_dump() biçimi. (1.26 sürümünde kaldırıldı)none
: Boş bir yanıt döndürür. 1.21+
Örnek
Yanıt
{
"query": {
"pages": {
"217225": {
"pageid": 217225,
"ns": 0,
"title": "Main page"
}
}
}
}
Aksi belirtilmedikçe, tüm modüller tüm genel biçimlerde veri çıkışına izin verir.
Hata ayıklamayı basitleştirmek için, tüm genel biçimler fm
sonekiyle "pretty-print in HTML" alternatiflerine sahiptir, ör. jsonfm
.
JSON parametreleri
Aşağıdaki parametreler format=json
ve format=jsonfm
ile kullanılabilir:
utf8
: ASCII olmayan çoğu karakteri onaltılık kaçış dizileriyle değiştirmek yerine UTF-8 olarak kodlar. Tür: boolean.ascii
: Onaltılık kaçış dizileri kullanarak tüm ASCII olmayan karakterleri kodlar. Tür: boolean.formatversion
: Çıkış biçimlendirmesi. 1.25+1
: Geriye dönük biçimi, içerik düğümleri için*
tuşlarını kullanır, onaltılık kaçış dizileri kullanarak ASCII olmayan karakterleri kodlar.2
: Modern biçimi. Yanıtları daha temiz biçimi olarak döndürür, ASCII olmayan çoğu karakteri UTF-8 olarak kodlar. (önerilen)
callback
: Response in the JSON format, by wrapping the result in a JavaScript function call. For security reasons, these responses ignore any browser session cookies and respond without information specific to a current logged-in user. This means the following features are disabled for safety:- Anahtar alınamıyor, bu nedenle durum değiştiren eylemler mümkün değil.
- İstemci, action=login içindeki giriş yaptıktan sonra bile tüm amaçlar için anonim bir kullanıcı olarak (yani giriş yapmamış) olarak değerlendirilir. Bu, anonim kullanıcıların bunları kullanmasına izin verilmedikçe ek hak gerektiren modüllerin çalışmayacağı anlamına gelir.
Ek notlar
- XML ve PHP çıktı biçimleri kullanımdan kaldırılmıştır, ancak kullanımdadır. PHP ile yazılmış istemciler temelde güvensiz olduğu için PHP biçimini kullanmaktan kaçınmalıdır. Şimdilik sadece popülaritesi nedeniyle korunuyor.
- JSON yanıtlarını diğer biçimlere dönüştürmek için birçok dönüştürme kitaplığı ve çevrimiçi dönüştürücüler vardır. Örneğin, JSON-CSV Virgülle Ayrılmış Değerler.
- Son Değişiklikler Beslemesi gibi besleme modülleri,
feedformat
parametresinde belirtildiği gibi RSS veya Atom yerine standart çıkış biçimini geçersiz kılar. Bu durumlarda,format
parametresinde belirtilen biçim yalnızca bir hata olması durumunda kullanılır.
Ayrıca bakınız
- API:Errors and warnings - Uyarı ve hata biçimleri içerir.
- MediaWiki Interfaces Team tarafından korunur.
- Canlı sohbet (IRC): #mediawiki-core bağlan
- Sorun izleyicisi: Phabricator MediaWiki-Action-API (Sorun bildir)