Skip to main content

bpi_rs/creativecenter/
opus.rs

1// 创作中心作品管理 API
2//
3// [参考文档](https://github.com/Yuelioi/bilibili-API-collect/tree/cfc5fddcc8a94b74d91970bb5b4eaeb349addc47/docs/creativecenter/opus.md)
4
5use crate::BilibiliRequest;
6use crate::BpiResult;
7use crate::creativecenter::CreativeCenterClient;
8use serde_json::json;
9
10impl<'a> CreativeCenterClient<'a> {
11    /// 删除动态
12    ///
13    /// # 参数
14    /// | 名称 | 类型 | 说明 |
15    /// | ---- | ---- | ---- |
16    /// | `dyn_id` | &str | 动态 ID |
17    ///
18    /// # 文档
19    /// [删除动态](https://github.com/Yuelioi/bilibili-API-collect/tree/cfc5fddcc8a94b74d91970bb5b4eaeb349addc47/docs/creativecenter/opus.md#删除动态)
20    pub async fn dynamic_delete(&self, dyn_id: &str) -> BpiResult<Option<serde_json::Value>> {
21        let csrf = self.client.csrf()?;
22
23        self.client
24            .post("https://api.bilibili.com/x/dynamic/feed/operate/remove")
25            .query(&[("csrf", csrf)])
26            .json(&json!({
27              "dyn_id_str": dyn_id
28            }))
29            .send_bpi_optional_payload("creativecenter.dynamic.delete")
30            .await
31    }
32
33    /// 删除专栏
34    ///
35    /// # 参数
36    /// | 名称 | 类型 | 说明 |
37    /// | ---- | ---- | ---- |
38    /// | `aid` | u64 | 专栏文章 ID |
39    ///
40    /// # 文档
41    /// [删除专栏](https://github.com/Yuelioi/bilibili-API-collect/tree/cfc5fddcc8a94b74d91970bb5b4eaeb349addc47/docs/creativecenter/opus.md#删除专栏)
42    pub async fn article_delete(&self, aid: u64) -> BpiResult<Option<serde_json::Value>> {
43        let csrf = self.client.csrf()?;
44
45        self.client
46            .post("https://member.bilibili.com/x/web/article/delete")
47            .form(&[("aid", aid.to_string()), ("csrf", csrf)])
48            .send_bpi_optional_payload("creativecenter.article.delete")
49            .await
50    }
51}