10 个版本
使用旧的 Rust 2015
0.1.3 | 2016年4月17日 |
---|---|
0.1.2 | 2015年6月28日 |
0.1.1 | 2015年5月17日 |
0.0.6 | 2015年2月4日 |
0.0.4 | 2015年1月24日 |
#70 in #api-access
每月 33 次下载
38KB
842 行
rust-pocket
Pocket API 封装(http://getpocket.com),工作正在进行中
API 非常简单。最复杂的代码是授权部分。您需要 consumer_key
和 access_token
才能使用 API。
您可以通过在 我的应用 页面创建应用程序来获取 consumer_key
。通过 OAuth 认证流程 来获取 access_token
。
在此实现中,OAuth 工作流程通过一对方法来实现
extern crate pocket;
use pocket::Pocket;
fn authenticate() {
let mut pocket = Pocket::new("YOUR-CONSUMER-KEY-HERE", None);
let url = pocket.get_auth_url().unwrap();
println!("Follow the link to authorize the app: {}", url);
// Here we should wait until user follows the URL and confirm app access
let username = pocket.authorize().unwrap;
}
所以您 1) 使用 pocket.get_auth_url()
生成 OAuth 访问请求 URL,2) 让用户跟随 URL 并确认应用程序访问,3) 调用 pocket.authorize()
并得到错误或刚刚授权的用户名。
我建议在获取访问令牌后将访问令牌保存起来,这样您就不必在下一次重复此工作流程。您可以使用 pocket.access_token()
方法获取访问令牌。将其存储在某个地方,并使用它来构建 Pocket
对象
let access_token = "YOUR-STORED-ACCESS-TOKEN";
let mut pocket = Pocket::new("YOUR-CONSUMER-KEY-HERE", Some(access_token));
现在您有两种方法(目前)来获取和添加新的 URL 到您的口袋。
要添加项目,请使用 Pocket::add()
或 Pocket::push()
方法
// Quick add by URL only
let added_item = pocket.push("http://example.com").unwrap();
// Add with all meta-info provided (title, tags, tweet id)
let added_item = pocket.push("http://example.com", Some("Example title"), Some("example-tag"), Some("example_tweet_id")).unwrap();
要查询您的口袋,请使用 Pocket::filter()
方法
let items = {
let mut f = pocket.filter();
f.complete() // complete data
f.archived() // archived items only
f.videos() // videos only
f.offset(10) // items 10-20
f.count(10)
f.sort_by_title() // sorted by title
f.get(); // get items
};
// There are other methods, see `PocketGetRequest` struct for details
...
API 封装将通过新的方法和参数进行改进。请继续关注!
许可证
许可协议为以下之一
- Apache许可证第2版,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则您根据Apache-2.0许可证定义的,有意提交以包含在该作品中的任何贡献,应按照上述方式双重许可,不附加任何额外条款或条件。
依赖项
~5.5MB
~124K SLoC