API:SSS
Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır. |
Genel bakış
Bu sayfa, MediaWiki Eylem API hakkında sıkça sorulan bazı soruların yanıtlarını sağlar. This page is intended for technical contributors and software developers who wish to understand and use the MediaWiki Action API.
Ayrıca API:Anasayfa sayfasını okuyunuz. Burada cevaplanamayan bazı soruları cevaplayabilir ve diğer yararlı sayfalara yönlendirebilir.
API'ler hakkında
API nedir?
API, Uygulama Programlama Arayüzü ifadesinin kısaltmasıdır. Farklı uygulamaların birbirleriyle iletişim kurmasını sağlar. Sometimes an API allows an application to request an action to be done by the application which implements the API. Genel olarak HTTP-yanıt mekanizmasını kullanan ve JSON/XML yapılandırılmış verisi üreten web tabanlı API isteklerine atıfta bulunur.
REST API nedir?
REST, Representational State Transfer ifadesinin kısaltmasıdır. A yol gösterici ilkeler veya kısıtlamalar dizisi, RESTli bir sistem tanımlar. Bir RESTful API veya yalnızca bir REST API, bu ilkelere bağlı kalır ve bu nedenle daha hızlı, daha güvenilir ve ölçeklenebilir bir hizmettir.
Bir API ne yapabilir?
Bazı API'nin kullanımlara bakın.
API'ler hakkında nereden daha fazla bilgi edinebilirim?
İşte birkaç kaynak:
- API'leri anlama
- API'lere giriş
- REST nedir — Yeni Başlayanlar İçin Basit Bir Açıklama, Bölüm 1: Giriş
Genel
MediaWiki Eylem API'si nedir?
MediaWiki Eylem API'si, kullanıcıların aşağıdaki gibi belirli sayfa oluşturma, kimlik doğrulama, ayrıştırma, arama vb. viki eylemlerini gerçekleştirmesine olanak tanıyan bir REST'li web hizmetidir.
MediaWiki Eylem API'si ne için kullanılabilir?
MediaWiki Eylem API'si şu amaçlarla kullanılabilir:
- viki özellikleri erişim.
- bir viki ile etkileşim kurun.
- vikiler ve genel kullanıcılar hakkında meta bilgiler elde edin.
Sağ kenar çubuğu, API tarafından desteklenen birçok özelliğe işaret eder. Ayrıca, MediaWiki Eylem API'sini kullanan Wikimedia projelerine bakın.
MediaWiki Eylem API'sini nasıl kullanabilirim (veya çağırabilirim)?
HTTP istekleri, genellikle Eylem API'sini çağırmak için kullanılır. Ayrıntılı talimatlar için eğitim sayfasına bakın.
Eylem API ile oynamak için:
- Special:ApiSandbox kullanın.
- Tarayıcınızın geliştirici konsolunu etkinleştirin ve viki ile etkileşime girerken net istekleri
api.php
ile izleyin.
Bir modül, bir alt modül ve bir parametre nedir?
MediaWiki Eylem API'si, farklı görevleri gerçekleştirmek için kullandığımız çok sayıda modüle sahiptir. Teknik açıdan, bir modül ApiBase öğesinin bir alt sınıfıdır. Bir modül parametreler gerektirir. Bu parametreler alt modüller olabilir (veya olmayabilir).
Aşağıdaki isteği göz önünde bulundurun:
bunlar:
action
, ana modülün parametredir.action=query
, başka bir modüldür. modül sorgusu denilir.list
, modül sorgusunun parametresidir.list=search
ayrıca bir modüldür.action=query
bir alt modül olarak adlandırılabilir.srsearch
, arama modülünün parametresidir. 'abc' arama dizesini tutar.format
, ana modülün parametredir.json
çıkış biçimidir.
Ayrıca Giriş ve yönergelere bakın. action=query
modülünün alt modüllerini açıklar.
Hangi modül ve alt modülün çağrılacağını nasıl bilebilirim?
MediaWiki Eylem API'si büyüktür ve uzantılar onu daha da büyütür. API isteğinizi gerçekleştirmenin birkaç yolu:
- Kenar çubuğunda, uygulamak istediğiniz özelliği arayın ve hangi modüllerin çağrılacağı hakkında bilgi için bağlantıyı izleyin.
- Kendi kendini belgeleyen API sayfaları, kısa açıklamalarla birlikte tüm modüllerin ve alt modüllerin bir listesini içerir. Ana modülden başlayabilir ve farklı alt modüllere giden bağlantıları takip edebilirsiniz. (Genişletilmiş sürümü görüntülemek için
recursivesubmodules=1
ekleyin)
API modüllerini kullanmak için örnek kodları nerede bulabilirim?
API belgeleri sayfaları, farklı modüllerin ve alt modüllerin nasıl kullanılabileceğini gösteren bir 'Örnekler' bölümü içerir. Otomatik oluşturulan belgeler ayrıca modül açıklamalarını takip eden örneklere sahiptir.
Python ve JavaScript'teki kod parçacıkları için Mediawiki-API-demos adresine bakın.
Çıkış biçimi nasıl kontrol edebilirim?
Varsayılan çıkış biçimi JSON'dur. Diğer çıkış biçimleri, en son kararlı MediaWiki sürümünde kullanımdan kaldırıldı veya kaldırıldı ve bunların kullanılması önerilmez.
Eski sürümlerde, çıkış biçimini kontrol etmek için sorgu dizesine &format=someformat
iletebilirsiniz.
Bilgi için API:Veri biçimleri sayfasına.
Erişim anahtarına ihtiyacım var mı?
Oturum açma, düzenleme, sayfaları taşıma vb. gibi verileri değiştirme eylemlerini gerçekleştirmek için bir erişim anahtarını ihtiyacınız olacak.
Daha fazla bilgi edinmek için API:Tokens veya kenar çubuğu kategorisi 'Kimlik doğrulama' bakın.
API'yi kullanarak siteler arası isteklerde nasıl bulunabilirim?
MediaWiki'de siteler arası isteklerde bulunmak için JSONP veya CORS kullanmalısınız.
Ayrıntılar için API:Siteler arası istekler sayfasına bakın.
Sorgulama sonuçları için bir sınır var mı?
Evet, sorgu parametresine bağlıdır. Örneğin, normal kullanıcılar için list
ve property
sorgularının sonuçları 500'ü aşamaz.
API sayfaları, 'Ek notlar' bölümünde veya 'Sınırlar' bölümünde bu limitler hakkında bilgi içerir. Bazı modüllerin belirli koşullar altında daha katı sınırlar getirdiğini unutmayın.
Hangi sınırı belirleyeceğinizden emin değilseniz ve mümkün olduğunca çok sonuç istiyorsanız, sınırı max
olarak ayarlayın.
API çağrılarının bir sınırı var mı?
Somut bir sınır yoktur. Yine de engellenmemek için makul sayıda arama yapmanızı öneririz. Çok sayıda istekte bulunmak istiyorsanız, önceden hizmetliler ile iletişime geçin.
Ayrıca API:Etiquette sayfasına bakın.
MediaWiki Eylem API ile ilgili güncellemeleri nereden alabilirim?
Duyurular ve güncellemeler için MediaWiki-API-Announce posta listesine abone olabilirsiniz.
Viki dökümleri nedir ve bunlarla nasıl çalışabilirim?
Wikimedia'nın veri dökümleri, viki koleksiyonlarının, içeriğin, meta verilerin, arama dizinlerinin vb. dökümleridir. Dökümlerle çalışmak için dökümleri kullanma ve genel dökümü bakın.
Nereden daha fazla yardım alabilirim?
MediaWiki API belgeleri veya otomatik oluşturulan belgeler sayfalarında yanıt bulamazsanız, aşağıdaki yollarla bize ulaşmaktan çekinmeyin.
- Bir Wikimedia hesabı oluşturun (eğer henüz bir hesabınız yoksa) ve API tartışma sayfasında yeni bir konu ekleyin.
- Sorunuzu şuraya sorun:
- #mediawiki bağlan kanalında IRC.
- MediaWiki-API posta listesi.
Uzantı geliştiricileri ve viki sahipleri
Bir uzantıda nasıl API modülü oluşturabilirim?
API:Extensions, bir uzantıda bir API modülü oluşturma sürecinin tamamında size yol gösterecektir.
API'nin dahili yapısı nedir?
API:Uygulama Stratejisi, MediaWiki Çekirdeği içindeki API makinelerinin uygulanmasını açıklar.
API kullanımını nasıl kısıtlayabilirim?
API kullanımını kısıtlamak için, yazma API'sinin kullanımını kısıtlayabilir veya ayrı modülleri devre dışı bırakabilirsiniz.
Talimatlar ve örnekler için API:API kullanımını kısıtlama sayfasına bakın.
Hatalar ve sorun giderme
Hatayı nasıl bulabilirim?
Bir hatayla karşılaşırsanız, API'den gelen hata yanıtı MediaWiki-API-Error
HTTP başlığını ayarlar ve bir hata yapısı döndürür.
Bu hata ne anlama geliyor?
Hatanın ne anlama geldiğini anlamak için standart hata mesajları listesinde hatanızı bulun.
Hata/özellik isteklerini nasıl iletebilirim?
Hataları bildirebilir ve özellik isteklerini Wikimedia'nın görev izleme aracı Phabricator üzerinden bildirebilirsiniz.
Not:
- MediaWiki-API proje etiketini görevinize ekleyin.
- Raporunuz/isteğiniz bir uzantı tarafından sunuluyorsa, o uzantının projesini ekleyin. (ör. MediaWiki-extensions-AbuseFilter, MediaWiki-extensions-FlaggedRevs vb.)
- Yeni bir görev oluşturmadan önce kopyaları doğrulayın.
- Devam etmeden önce Phabricator'da görev oluşturma terimlerini anlayın.
Daha fazla ayrıntı için Hata nasıl bildirilir sayfasına bakın.
API sürümüm nedeniyle hatalarla mı karşılaşıyorum?
Bir web sitesi MediaWiki'nin farklı bir sürümünü çalıştırıyorsa, API'nin farklı bir sürümünü de çalıştırır. Bir sürümde desteklenen bazı modül parametrelei, diğerlerinde kullanımdan kaldırılmış (veya kaldırılmış) olabilir. Bu tür parametreler kullanılırsa bir istisna atar. API sayfaları, bu tür kullanımdan kaldırmaları belgelemektedir.
Farklı API sürümleriyle ilgili bilgi için sürüm notlarına bakın.