3个不稳定版本
0.2.0 | 2024年2月12日 |
---|---|
0.1.1 | 2023年11月20日 |
0.1.0 | 2023年9月10日 |
#169 in HTTP客户端
每月21次下载
73KB
1K SLoC
tumblr_api
对Tumblr API的Rust实现。
这仍然非常处于测试阶段!请参阅主要计划/未实现功能
示例
使用客户端创建一个简单的帖子
use tumblr_api::{npf, client::Client, auth::Credentials};
let client = Client::new(Credentials::new(
"your consumer key",
"your consumer secret",
));
client
.create_post(
"blog-name",
vec![npf::ContentBlockText::builder("hello world").build()],
)
.send()
.await?;
创建一个更复杂的帖子
use tumblr_api::client::CreatePostState;
// load the image that we'll be attaching to the post.
let my_image = std::fs::read("path/to/my_image.jpg")?;
// (currently, you need to manually create the reqwest::Body to pass in. that'll probably
// change in a future version.)
let my_image = reqwest::Body::from(my_image);
client
.create_post(
"blog-name",
vec![
npf::ContentBlockText::builder("hello world").build(),
npf::ContentBlockImage::builder(vec![npf::MediaObject::builder(
npf::MediaObjectContent::Identifier("my-image-identifier".into()),
)
.build()])
.build(),
npf::ContentBlockText::builder("some bold text in a heading")
.subtype(npf::TextSubtype::Heading1)
.formatting(vec![npf::InlineFormat {
start: 5,
end: 9,
format: npf::InlineFormatType::Bold,
}])
.build(),
],
)
.add_attachment(my_image, "image/jpeg", "my-image-identifier")
// add tags to your post
// (this is currently a string since that's what the underlying api takes.
// Being able to pass a Vec<String> instead is a planned feature but hasn't been
// implemented quite yet.)
.tags("tag_1,tag_2,tag_3")
// add the post to your queue instead of immediately posting it
.initial_state(CreatePostState::Queue)
.send()
.await?;
模块与功能标志
这个库被分割成多个模块 - client
、api
、npf
和 auth
- 每个模块都有同名功能标志来控制是否启用。它们默认都启用,但如果您只需要某些功能(例如,仅npf解析),您可以选择只启用这些功能。
主要计划/未实现功能
- 实现剩余的API端点(目前只是帖子创建和其他几个)
许可证
根据您的要求,受以下任一许可证的约束:
- Apache许可证,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您有意提交的任何贡献,根据Apache-2.0许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。
依赖
~1–14MB
~176K SLoC