13次发布
0.3.4 | 2021年3月2日 |
---|---|
0.3.3 | 2021年3月1日 |
0.3.2 | 2021年2月20日 |
0.2.8 | 2021年2月8日 |
0.2.4 | 2021年1月31日 |
#489 in 身份验证
用于 caffeine-cf
77KB
1.5K SLoC
codeforces-api
A rust crate用于通过身份验证与Codeforces资源进行接口交互。它提供了Codeforces API的全部功能以及获取给定问题的测试用例的能力。
用法
use codeforces_api::requests::{CFBlogEntryCommand, CFAPIRequestable};
use codeforces_api::responses::CFResult;
fn main() {
// This is equivalent to the Codeforces `blogEntry.view` API method.
let x = CFBlogEntryCommand::View {
blog_entry_id: 82347,
};
// The `.get(..)` method on API commands returns a result with either
// an error or an `Ok(CFResult)`.
match x.get("<api_key>", "<api_secret>") {
Ok(CFResult::CFBlogEntry(blog_entry)) => {
assert_eq!(blog_entry.id, 82347);
println!("Your blog entry: {:?}", blog_entry);
},
Ok(_) => {
// In very rare cases, an unexpected type may be returned by
// `.get()`. If this happens, then you may wish to throw a
// custom error.
panic!("`.get()` returned an unexpected type.");
}
Err(e) => {
// Errors returned are of a custom Error type. This could be
// returned if, for example, an invalid API key/secret was used
// or if there was no internet connection.
panic!("something failed {:?}", e);
}
}
}
依赖项
~4–17MB
~267K SLoC