API:Tokens/tr
![]() | Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır. |
MediaWiki sürümü: | ≥ 1.24 |
API:Tokens modülü, bir sayfayı günlüğe kaydetme, düzenleme veya taşıma ve değişiklikleri izleme veya devriye gezme gibi veri değiştirme işlemlerinin gerektirdiği anahtarlar sağlar. Her işlem için belirli bir anahtar türüne ihtiyacınız vardır. Örneğin: Eylem API üzerinden bir viki sitesine oturum açmak istiyorsanız, devam etmek için "login" türünde bir anahtara ihtiyacınız olacaktır.
Eski kodu taşıma konusunda yardım için Eski API token parametrelerinin kullanımdan kaldırılması sayfasına bakın.
API belgesi
![]() | Aşağıdaki belgelendirme, bu sitede (MediaWiki.org) çalışan MediaWiki'nin sürüm öncesi sürümü tarafından otomatik olarak oluşturulan Special: |
meta=tokens
- Source: MediaWiki
- License: GPL-2.0-or-later
Gets tokens for data-modifying actions.
Specific parameter:
Other general parameters are available.
- type
Types of token to request.
- Values (separate with | or alternative): createaccount, csrf, deleteglobalaccount, login, patrol, rollback, setglobalaccountstatus, userrights, watch
- To specify all values, use *.
- Default: csrf
Examples:
- Retrieve a csrf token (the default).
- api.php?action=query&meta=tokens [open in sandbox]
- Retrieve a watch token and a patrol token.
- api.php?action=query&meta=tokens&type=watch|patrol [open in sandbox]
Örnek
GET isteği
Yanıt
{
"batchcomplete": "",
"query": {
"tokens": {
"logintoken": "9ed1499d99c0c34c73faa07157b3b6075b427365+\\"
}
}
}
Örnek kod
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";
Node.js
/*
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 );
} );
Olası hatalar
Kod | Bilgi |
---|
Parametre geçmişi
- v1.27:
login
,createaccount
tanıtıldı
Ayrıca bakınız
- API:Extensions#Anahtarı düzenle
- Kullanımdan kaldırılmış anahtar yöntemi: API:Tokens (action)