[−][src]Crate dota2_webapi_bindings
The crate serves as an bindings to the official (outdated) dota2 webapi The crate has been made so you can call make calls directly and get a result back in a Struct.
Read the full list of api(outdated) calls here.
Use xpaw for latest.
The webapi terms are same as official except they are all in lowercase, Eg : GetGameItems
is now get_game_items()
.
You also need a key that you can get here.
Originally posted by Zoid at forum When you go to http://steamcommunity.com/dev/apikey the "domain" field is just a note. It's not actually used for anything and is just a helpful field so you can tell us what your website is. You can just put your name in for now. Once you get a key, its what uniquely identifies you when accessing our WebAPI calls.
In your main.rs
or anywhere you intend to use the library create a non-mutable string of
you token pass first to use the library, there is no calls without the token.
//main.rs use dota2_webapi_bindings::Dota2Api; static DOTA2_KEY: &str = "0123456789"; //example token fn main() { let mut dota = Dota2Api::new(String::from(DOTA2_KEY)); // we use `set` to configure the URL first dota.set_heroes().itemized_only(true).language("zh_zh"); // you can also write the above as just `dota.set_heroes();` or `dota.set_heroes().itemized_only(true);` // or just `dota.set_heroes().language("zh_zh");` or `dota.set_heroes().language("zh_zh").itemized_only(true);` // our builder like function takes care of optional parameters // and finally `get` to retrieve our struct let data = dota.get_heroes().expect("something went wrong, ez mid"); }
Available calls :
- IEconDOTA2_570
- GetGameItems
- GetHeroes
- GetRarities
- GetTournamentPrizePool
- IDOTA2Match_205790
- GetLeagueListing
- IDOTA2Match_570
- GetLiveLeagueGames
- GetTopLiveGame
Note: Try using language()
with everything, just put in any string, it seems like its gives better readable name
and description for some reason, I have not set-up a default cause sometimes that might not be your intension.
Modules
dota | I have by default use Json instead of XML cause it is more popular and easy to work with, and you do not need ti use them directly!! |
Structs
Dota2Api | The main |
GetGameItemsBuilder | |
GetHeroesBuilder | |
GetLeagueListingBuilder | |
GetLiveLeagueGamesBuilder | |
GetRaritiesBuilder | |
GetTopLiveGameBuilder | |
GetTournamentPrizePoolBuilder |
Enums
Error | different type of errors we can receive during either fetching of data or just unpacking JSON |