5 个版本
使用旧的 Rust 2015
0.1.4 | 2019 年 5 月 30 日 |
---|---|
0.1.3 | 2019 年 5 月 30 日 |
0.1.2 | 2019 年 4 月 13 日 |
0.1.1 | 2019 年 3 月 29 日 |
0.1.0 | 2019 年 3 月 16 日 |
#10 in #体育
2.5MB
3.5K SLoC
体育大师
体育大师是一家专注于提供不同运动统计数据、洞察和历史结果的公司的产品。这个库实现了对他们的 足球 API 的支持。
功能
注意:为了更好地了解此客户端或 SportMonks API 的功能,请参阅上面链接的官方文档。
以下列出了一些常见请求,您可以用此适配器进行更多操作
- 请求已结束或正在进行的比赛的统计数据。
- 请求关于全球足球比赛的信息。
- 请求关于团队及其球员的信息。
以下是一些示例。
安装
要安装此库,请将以下行添加到您的 Cargo.toml 文件中
sport_monks = "0.1.4"
用法
请求关于比赛的信息
extern crate sport_monks;
use sport_monks::*;
fn main() {
let client = Client::new("YOUR_API_TOKEN");
let options = Options::builder().include(&["localTeam", "visitorTeam", "stats"]);
let query = client.fixtures.find_with(11414789, options);
match query {
Ok(response) => {
let game = response.data;
let home_team = game.local_team.unwrap().name;
let away_team = game.visitor_team.unwrap().name;
println!("{} {} - {} {}",
home_team,
game.scores.localteam_score,
away_team,
game.scores.visitorteam_score);
let stats = game.stats.unwrap();
println!("POS: {}% - {}%", stats[0].possessiontime, stats[1].possessiontime);
println!("SHOTS: {} - {}", stats[0].shots.ongoal, stats[1].shots.ongoal);
println!("FOULS: {} - {}", stats[0].fouls, stats[1].fouls);
println!("FREE KICKS: {} - {}", stats[0].free_kick, stats[1].free_kick);
println!("ATTACKS: {} - {}", stats[0].attacks.dangerous_attacks, stats[1].attacks.dangerous_attacks);
},
Err(sport_monks) => println!("{:?}", sport_monks),
}
}
应在控制台打印
Real Madrid 1 - Ajax 4
POS: 57% - 43%
SHOTS: 8 - 8
FOULS: 12 - 11
FREE KICKS: 18 - 13
ATTACKS: 78 - 41
请求关于全球足球比赛的信息
extern crate sport_monks;
use sport_monks::*;
fn main() {
let client = Client::new("YOUR_API_TOKEN");
let query = client.leagues.all();
match query {
Ok(response) => {
let leagues = response.data;
for league in leagues {
let options = Options::builder().include(&vec!["standings.team"]);
match client.standings.find_with(league.current_season_id, options) {
Ok(second_response) => {
let stadings = &second_response.data[0].standings;
println!("{}: {} {}", league.name, stadings[0].team_name, stadings[0].points)
},
Err(sport_monks) => println!("{:?}", sport_monks),
}
}
},
Err(sport_monks) => println!("{:?}", sport_monks),
}
}
该代码片段应打印您计划中包含的所有足球比赛的排行榜。
请求关于团队及其球员的信息
extern crate sport_monks;
use sport_monks::*;
fn main() {
let client = Client::new("API_TOKEN");
let options = Options::builder().include(&["squad.player"]);
let query = client.teams.find_with(7980, options);
match query {
Ok(response) => {
let team = response.data;
for player in team.squad.unwrap() {
let player = player.player.unwrap();
println!("{} ({}) plays at {}", player.fullname.unwrap(), player.nationality.unwrap(), team.name)
}
},
Err(sport_monks) => println!("{:?}", sport_monks),
}
}
上面的代码片段应打印马德里竞技队的球员姓名和国籍。
依赖项
~20MB
~440K SLoC