{"id":27915464,"url":"https://github.com/artisancloud/mediax","last_synced_at":"2025-05-06T15:54:42.566Z","repository":{"id":275985380,"uuid":"916664063","full_name":"ArtisanCloud/MediaX","owner":"ArtisanCloud","description":"MediaX主要赋能客户系统对各个媒体平台的开发，包括youtube，微信，tiktok，抖音，小红书等主流平台，方便开发者调用各个平台的接口","archived":false,"fork":false,"pushed_at":"2025-05-06T06:20:04.000Z","size":262,"stargazers_count":10,"open_issues_count":9,"forks_count":0,"subscribers_count":2,"default_branch":"release/v1.0.0","last_synced_at":"2025-05-06T07:38:34.871Z","etag":null,"topics":["golang","gprc","media","openapi","rpa"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArtisanCloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-14T14:39:49.000Z","updated_at":"2025-05-06T06:20:10.000Z","dependencies_parsed_at":"2025-04-28T17:35:13.595Z","dependency_job_id":null,"html_url":"https://github.com/ArtisanCloud/MediaX","commit_stats":null,"previous_names":["artisancloud/mediax"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtisanCloud%2FMediaX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtisanCloud%2FMediaX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtisanCloud%2FMediaX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtisanCloud%2FMediaX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArtisanCloud","download_url":"https://codeload.github.com/ArtisanCloud/MediaX/tar.gz/refs/heads/release/v1.0.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252717885,"owners_count":21793394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","gprc","media","openapi","rpa"],"created_at":"2025-05-06T15:54:41.691Z","updated_at":"2025-05-06T15:54:42.554Z","avatar_url":"https://github.com/ArtisanCloud.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MediaX\n\nMediaX 是一个支持多平台内容发布的轻量级 SDK，旨在帮助开发者快速集成到主流自媒体平台，实现统一的内容发布接口。\n\nMediaX系列产品介绍\n- MediaX：一个 开源的Golang SDK，可以直接被其他项目引用。\n- MediaX Pro：基于 MediaX 构建的商业化服务，包含 API（gRPC/HTTP）、高级功能和闭源插件，面向企业用户。\n\n## 功能特点\n\n1. **多平台支持**：支持主流的自媒体平台如抖音、小红书，youtube等。\n2. **统一接口**：通过标准化的接口，实现对多个平台的内容发布。\n3. **开源与闭源结合**：Pro支持插件化架构，开源插件可自由扩展，闭源插件提供增强功能。\n4. **跨语言支持**：Pro通过 gRPC 实现跨语言调用，支持 Go 和其他语言集成。\n5. **可扩展性**：灵活的 Provider 机制，轻松接入新平台。\n\n## MediaX快速开始\n\n### 环境要求\n\n- Go 1.18 或更高版本\n\n### 使用知识\n- OAuth2.0 授权流程，可以参考[理解OAuth 2.0](https://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html)文章\n\n### 安装\n\n1. 初始化项目并下载 MediaX：\n\n   ```bash\n   go get github.com/ArtisanCloud/MediaX\n   ```\n\n   2. 创建一个简单的示例，本项目作者正在自己系统中使用，陆续会迭代版本：\n\n      ```go\n      \n      import (\n         \"github.com/ArtisanCloud/MediaX/pkg/client\"\n         config2 \"github.com/ArtisanCloud/MediaX/pkg/client/config\"\n         \"github.com/ArtisanCloud/MediaX/pkg/utils\"\n         \"github.com/ArtisanCloud/MediaXCore/pkg/cache\"\n         \"github.com/ArtisanCloud/MediaXCore/pkg/logger/config\"\n         \"github.com/ArtisanCloud/MediaXCore/utils/fmt\"\n         \"github.com/ArtisanCloud/MediaX/pkg/client/wechat/officialAccount/clientTokenClient/publish/schema\"\n         \"github.com/redis/go-redis/v9\"\n      )\n   \n      // 配置Media Client实例的信息\n      mediaXClient := client.NewMediaX(\u0026config2.MediaXConfig{\n        \u0026config.LogConfig{\n            Level:   \"debug\",\n            Console: true,\n            File: config.FileConfig{\n                Enable: true,\n            },\n        },\n      }, c)\n   \n      // 从MediaXClient实例中获取到微信平台中公众号的实例，该实例是Client Token模式，不需要用户授权\n      wechatOAClient, err := mediaXClient.MediaXClient.NewWeChatOfficialAccountCTClient(\u0026config2.WeChatOfficialAccountConfig{\n        ClientConfig: \u0026ClientConfig{\n            BaseConfig: \u0026BaseConfig{\n               Timeout: 30,\n               HttpDebug: true,\n            },\n            OAuthConfig: \u0026OAuthConfig{\n               ClientID: \"your client/app id\"\n               ClientSecret: \"your client/app secret\"\n            },\n        },\n      })\n      if err != nil {\n        panic(err)\n      }\n   \n      // 调用 wechatOAClient 的方法\n      ctx := context.Background()\n      var reqData = \u0026schema.DraftAddReq{}\n      resData, err := oaClient.GetPublishClient().DraftAdd(ctx, reqData)\n      if err != nil {\n         return nil, err\n      }\n   \n      ```\n\n[//]: # (## 更多文档介绍)\n\n[//]: # ([文档]\u0026#40;./docs\u0026#41;)\n\n## 功能矩阵\n\n| 平台   | 应用      | 授权类型              | **文章功能** |      |      |      | **视频功能** |     |     |     | **媒体管理** |\n|--------|-----------|-----------------------|--------------|------|------|------|--------------|-----|-----|-----|------------|\n|        |           |                       | 新增         | 删除 | 修改 | 查询 | 新增         | 删除 | 修改 | 查询 | 管理         |\n| Google | YouTube   | auth_code             | ✔            | ✔    | ✔    | ✔    | ✔            | ✔   | ✔   | ✔   |            |\n| WeChat | 公众号     | client_credential     | ✔            | ✔    | ✔    | ✔    |             |     |     |     |            |\n\n\u003e 注：✔ 表示支持该功能，✘ 表示暂不支持该功能。\n\n\n## 功能介绍\n*** [项目功能的开发安排](https://github.com/orgs/ArtisanCloud/projects/5/views/2)\n\n\n\n## 许可证\n\nMediaX SDK项目 采用 [MIT License](./LICENSE) 开源。\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartisancloud%2Fmediax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartisancloud%2Fmediax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartisancloud%2Fmediax/lists"}