API: אסימונים
![]() | דף זה הוא חלק מהתיעוד של ה־action API של מדיה־ויקי |
MediaWiki version: | ≥ 1.24 |
מודול API:אסימונים מספק אסימונים הנדרשים לפעולות שינויים בנתונים כגון הרשמה, עריכה או העברת דף, וצפיות או סיור שינויים. לכל פעולה, אתה צריך סוג מסוים של אסימון. לדוגמה: אם אתה רוצה להיכנס לאתר וויקי באמצעות API של פעולה, אתה צריך סימן מסוג "התחבר" כדי להמשיך.
לעזרה בהעברת קודים ישנים, יש להפנות להושטת הפרמטרים הישנים של API שעברו תקופת השימוש
תיעוד API
דוגמה
בקשת GET
תגובה
{
"batchcomplete": "",
"query": {
"tokens": {
"logintoken": "9ed1499d99c0c34c73faa07157b3b6075b427365+\\"
}
}
}
קוד לדוגמה
Python
#!/usr/bin/python3
"""
tokens.py
MediaWiki API Demos
Demo of `Token` module: Fetch token of type `login`
MIT License
"""
import requests
S = requests.Session()
URL = "https://www.mediawiki.org/w/api.php"
PARAMS = {
"action": "query",
"meta": "tokens",
"type": "login",
"format": "json"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
LOGIN_TOKEN = DATA['query']['tokens']['logintoken']
print(LOGIN_TOKEN)
PHP
<?php
/*
tokens.php
MediaWiki API Demos
Demo of `Token` module: Fetch token of type `login`
MIT License
*/
$endPoint = "https://www.mediawiki.org/w/api.php";
$params = [
"action" => "query",
"meta" => "tokens",
"type" => "login",
"format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
echo( $result['query']['tokens']['logintoken'] . "\n" );
Perl
#!/usr/bin/perl
# token.pl
# MediaWiki API Demos
# Demo of `Token` module: Fetch token of type `login`
# WTFPL
use strict;
use warnings;
use JSON;
use LWP::UserAgent;
use URI;
my $url = URI->new('https://www.mediawiki.org/w/api.php');
my %params = (
'action' => 'query',
'meta' => 'tokens',
'type' => 'login',
'format' => 'json',
);
$url->query_form(%params);
my $ua = LWP::UserAgent->new();
my $response = $ua->get($url);
my $data = JSON::decode_json($response->content);
my $login_token = $data->{'query'}{'tokens'}{'logintoken'};
print "$login_token\n";
JavaScript
/*
tokens.js
MediaWiki API Demos
Demo of `Token` module: Fetch token of type `login`
MIT License
*/
var request = require('request'),
url = "https://www.mediawiki.org/w/api.php";
var params = {
action: "query",
meta: "tokens",
type: "login",
format: "json"
};
request.get( { url: url, qs: params }, function( error, response, body ){
body = JSON.parse( body );
console.log( body.query.tokens.logintoken );
});
MediaWiki JS
/*
tokens.js
MediaWiki API Demos
Demo of `Token` module: Fetch token of type `csrf`
MIT License
*/
var params = {
action: 'query',
meta: 'tokens',
type: 'csrf',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
console.log( data.query.tokens.csrftoken );
} );
שגיאות אפשריות
קוד | מידע |
---|
היסטוריית הפרמטרים
- v1.27: הוצג
ר' גם
שיטת השגת מזהים באופן מיושן: API:Tokens (action)