・クエリ文字列で取得する情報を指定する方法となっている。
使い方
・まず、取得したい情報が何かを考える。
取得したい情報によって、指定するオプションが決まっている。
①actionは「action=query」を指定する。
②取得する情報はpropで指定する。記事の全文取得は「prop=cirrusdoc」と指定すればOK。
※以下で確認可能。
https://www.mediawiki.org/wiki/API:Query/ja
③titlesで取得したい記事を指定する。SQLであれば「titles=SQL」と指定すればOK。
④javascript等で取得する場合
・「origin=*」を指定する。(CORS対応)
・「format=json」を指定する。(xmlなども指定可能)
⑤できあがったURLにアクセスをする。問題なく文字列が返ってくることを確認する。(日本語はUNICODEエンコーディングされている)
https://ja.wikipedia.org//w/api.php?action=query&prop=cirrusdoc&titles=SQL&format=json&origin=*
⑥javascriptで取得して扱う場合の例
var url = 'https://ja.wikipedia.org//w/api.php?action=query&prop=cirrusdoc&titles=SQL&format=json&origin=*';
fetch(url)
.then(response => response.json())
.then(data => console.log(JSON.stringify(data, null, 2)));
補足
・以下のようなURLでも情報取得は可能。ただこの場合はCORSのエラーにぶつかってしまう。
・手動アクセスであれば問題なし。
https://ja.wikipedia.org/wiki/iPhone?action=cirrusdump
・CORSで悩んでいる方の参考情報
https://forum.freecodecamp.org/t/the-wikipedia-api-does-not-support-cors-requests/16595
参考
・https://qiita.com/yubessy/items/16d2a074be84ee67c01f
・APIサンドボックス
https://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:ApiSandbox#action=query&list=search&srsearch=Craig%20Noone&format=json
・受け取ったjsonを可視化する時に使えるツール
https://jsoneditoronline.org/#right=local.gizuye&left=local.yerela