5 个不稳定版本

使用旧的 Rust 2015

0.2.0 2018年1月14日
0.1.1 2015年6月8日
0.1.0 2015年6月8日
0.0.2 2015年4月24日
0.0.1 2015年4月24日

#43 in #segment

MPL-2.0 许可证

31KB
774 行代码(不包括注释)

strava-rs

Rust 中 Strava API 客户端

Circle CI

关于

该库目前公开了访问运动员、路段和路段努力的函数。下一个要支持的是活动。有关功能列表的详细信息,请参阅文档

extern crate strava;

use strava::athletes::Athlete;
use strava::api::AccessToken;

fn main() {
    // Create a token
    let token = AccessToken::new("<my token>".to_string());

    // Get the athlete associated with the given token
    let athlete = Athlete::get_current(&token).unwrap();

    // All of the strava types implement Debug and can be printed like so:
    println!("{:?}", athlete);
}

免责声明

我并非以任何方式与 Strava, Inc. 相关联。我只想从 Rust 使用 Strava API。


lib.rs:

Strava API 的包装器

组织

此包中的模块布局与Strava API 文档中的布局相同。所有与 strava 服务器交互的函数都将返回一个 strava::error::Result,其中 E 参数是 curried 到 strava::error::ApiError。下面的模块列表包括 未实现 标签,以清楚地表明哪些尚未编写。没有该标签的模块不保证全面封装该类型的所有端点,但它们保证支持该类型的 1..all 端点之间。

示例

可以使用 strava API 执行的最简单的事情是获取一名运动员并将其打印出来。对 Strava API 的每个请求都需要有效的访问令牌。由于此示例提供了一个假的令牌,因此 unwrap 调用将引发一个 ApiError::InvalidAccessToken 异常。您可以通过在 strava.com 上注册应用程序来获取令牌。

use strava::athletes::Athlete;
use strava::api::AccessToken;

// Create a token
let token = AccessToken::new("<my token>".to_string());

// Get the athlete associated with the given token
let athlete = Athlete::get_current(&token).unwrap();

// All of the strava types implement Debug and can be printed like so:
println!("{:?}", athlete);

依赖关系

~4–12MB
~160K SLoC