https://github.com/artisancloud/mediax
MediaX主要赋能客户系统对各个媒体平台的开发,包括youtube,微信,tiktok,抖音,小红书等主流平台,方便开发者调用各个平台的接口
https://github.com/artisancloud/mediax
golang gprc media openapi rpa
Last synced: 18 days ago
JSON representation
MediaX主要赋能客户系统对各个媒体平台的开发,包括youtube,微信,tiktok,抖音,小红书等主流平台,方便开发者调用各个平台的接口
- Host: GitHub
- URL: https://github.com/artisancloud/mediax
- Owner: ArtisanCloud
- License: mit
- Created: 2025-01-14T14:39:49.000Z (4 months ago)
- Default Branch: release/v1.0.0
- Last Pushed: 2025-05-06T06:20:04.000Z (18 days ago)
- Last Synced: 2025-05-06T07:38:34.871Z (18 days ago)
- Topics: golang, gprc, media, openapi, rpa
- Language: Go
- Homepage:
- Size: 256 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MediaX
MediaX 是一个支持多平台内容发布的轻量级 SDK,旨在帮助开发者快速集成到主流自媒体平台,实现统一的内容发布接口。
MediaX系列产品介绍
- MediaX:一个 开源的Golang SDK,可以直接被其他项目引用。
- MediaX Pro:基于 MediaX 构建的商业化服务,包含 API(gRPC/HTTP)、高级功能和闭源插件,面向企业用户。## 功能特点
1. **多平台支持**:支持主流的自媒体平台如抖音、小红书,youtube等。
2. **统一接口**:通过标准化的接口,实现对多个平台的内容发布。
3. **开源与闭源结合**:Pro支持插件化架构,开源插件可自由扩展,闭源插件提供增强功能。
4. **跨语言支持**:Pro通过 gRPC 实现跨语言调用,支持 Go 和其他语言集成。
5. **可扩展性**:灵活的 Provider 机制,轻松接入新平台。## MediaX快速开始
### 环境要求
- Go 1.18 或更高版本
### 使用知识
- OAuth2.0 授权流程,可以参考[理解OAuth 2.0](https://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html)文章### 安装
1. 初始化项目并下载 MediaX:
```bash
go get github.com/ArtisanCloud/MediaX
```2. 创建一个简单的示例,本项目作者正在自己系统中使用,陆续会迭代版本:
```go
import (
"github.com/ArtisanCloud/MediaX/pkg/client"
config2 "github.com/ArtisanCloud/MediaX/pkg/client/config"
"github.com/ArtisanCloud/MediaX/pkg/utils"
"github.com/ArtisanCloud/MediaXCore/pkg/cache"
"github.com/ArtisanCloud/MediaXCore/pkg/logger/config"
"github.com/ArtisanCloud/MediaXCore/utils/fmt"
"github.com/ArtisanCloud/MediaX/pkg/client/wechat/officialAccount/clientTokenClient/publish/schema"
"github.com/redis/go-redis/v9"
)
// 配置Media Client实例的信息
mediaXClient := client.NewMediaX(&config2.MediaXConfig{
&config.LogConfig{
Level: "debug",
Console: true,
File: config.FileConfig{
Enable: true,
},
},
}, c)
// 从MediaXClient实例中获取到微信平台中公众号的实例,该实例是Client Token模式,不需要用户授权
wechatOAClient, err := mediaXClient.MediaXClient.NewWeChatOfficialAccountCTClient(&config2.WeChatOfficialAccountConfig{
ClientConfig: &ClientConfig{
BaseConfig: &BaseConfig{
Timeout: 30,
HttpDebug: true,
},
OAuthConfig: &OAuthConfig{
ClientID: "your client/app id"
ClientSecret: "your client/app secret"
},
},
})
if err != nil {
panic(err)
}
// 调用 wechatOAClient 的方法
ctx := context.Background()
var reqData = &schema.DraftAddReq{}
resData, err := oaClient.GetPublishClient().DraftAdd(ctx, reqData)
if err != nil {
return nil, err
}
```[//]: # (## 更多文档介绍)
[//]: # ([文档](./docs))
## 功能矩阵
| 平台 | 应用 | 授权类型 | **文章功能** | | | | **视频功能** | | | | **媒体管理** |
|--------|-----------|-----------------------|--------------|------|------|------|--------------|-----|-----|-----|------------|
| | | | 新增 | 删除 | 修改 | 查询 | 新增 | 删除 | 修改 | 查询 | 管理 |
| Google | YouTube | auth_code | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| WeChat | 公众号 | client_credential | ✔ | ✔ | ✔ | ✔ | | | | | |> 注:✔ 表示支持该功能,✘ 表示暂不支持该功能。
## 功能介绍
*** [项目功能的开发安排](https://github.com/orgs/ArtisanCloud/projects/5/views/2)## 许可证
MediaX SDK项目 采用 [MIT License](./LICENSE) 开源。