# bili-sdk **Repository Path**: yuan-zai/bili-sdk ## Basic Information - **Project Name**: bili-sdk - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-03 - **Last Updated**: 2025-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 哔哩哔哩广告投放API SDK [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) ## 项目介绍 哔哩哔哩广告投放API SDK是一个基于哔哩哔哩广告投放平台(MAPI)开发的开源工具包,旨在帮助开发者快速接入哔哩哔哩广告投放平台,实现广告投放、数据查询等功能。 本SDK封装了哔哩哔哩广告投放平台的所有API接口,提供了简洁易用的API,降低了开发者的学习和使用成本。 ## 功能特性 - **完整的API覆盖**:支持MAPI所有接口,包括认证、计划、单元、创意、报表等 - **简洁的API设计**:采用符合Go语言习惯的API设计,使API调用更加直观和易用 - **完善的异常处理**:提供详细的错误信息和异常处理机制 - **灵活的配置选项**:支持自定义HTTP客户端、重试策略、超时设置等 - **丰富的文档和示例**:提供详细的API文档和丰富的示例代码 ## 快速开始 ### 安装 ```bash go get gitee.com/yuan-zai/bili-sdk ``` ### 基本用法 ```go package main import ( "fmt" "log" bilisdk "gitee.com/yuan-zai/bili-sdk" ) func main() { // 创建客户端配置 config := &bilisdk.Config{ AppKey: "your_app_key", Secret: "your_secret", } // 初始化客户端 client := bilisdk.NewClient(config) // 刷新Token accountID := 12345 tokenResp, err := client.Auth.RefreshToken(accountID) if err != nil { log.Fatalf("Failed to refresh token: %v", err) } // 获取账户列表 accounts, err := client.Auth.GetAccountList(&bilisdk.AccountListRequest{ Page: 1, Size: 100, }) if err != nil { log.Fatalf("Failed to get account list: %v", err) } // 创建广告计划 campaignReq := &bilisdk.CampaignRequest{ CampaignName: "测试计划", PromotionPurposeType: 1, Budget: 1000.0, } campaignResp, err := client.Campaign.Create(accountID, campaignReq) if err != nil { log.Fatalf("Failed to create campaign: %v", err) } fmt.Printf("Campaign created successfully: %v\n", campaignResp) } ``` ## 模块说明 SDK包含以下主要模块: - **认证模块**:处理API认证和Token管理 - **计划模块**:管理广告计划的创建、修改、查询等 - **单元模块**:管理广告单元的创建、修改、查询等 - **创意模块**:管理广告创意的创建、修改、查询等 - **报表模块**:查询广告投放数据和报表 - **元数据模块**:管理定向、资产、品牌信息等元数据 ## 示例代码 ### 认证示例 ```go // 刷新Token tokenResp, err := client.Auth.RefreshToken(accountID) if err != nil { log.Fatalf("Failed to refresh token: %v", err) } // 获取账户列表 accounts, err := client.Auth.GetAccountList(&bilisdk.AccountListRequest{ Page: 1, Size: 100, }) if err != nil { log.Fatalf("Failed to get account list: %v", err) } ``` ### 计划管理示例 ```go // 创建计划 campaignReq := &bilisdk.CampaignRequest{ CampaignName: "测试计划", PromotionPurposeType: 1, Budget: 1000.0, } campaignResp, err := client.Campaign.Create(accountID, campaignReq) if err != nil { log.Fatalf("Failed to create campaign: %v", err) } // 查询计划详情 detail, err := client.Campaign.GetDetail(accountID, campaignID) if err != nil { log.Fatalf("Failed to get campaign detail: %v", err) } // 更新计划状态 err = client.Campaign.UpdateStatus(accountID, campaignID, 1) if err != nil { log.Fatalf("Failed to update campaign status: %v", err) } ``` ### 报表查询示例 ```go // 查询计划投放数据 reportReq := &bilisdk.ReportRequest{ StartDate: "20240301", EndDate: "20240310", CampaignIDs: []int{123456, 789012}, } report, err := client.Report.GetCampaignReport(accountID, reportReq) if err != nil { log.Fatalf("Failed to get campaign report: %v", err) } ``` ## 文档 详细的API文档和使用指南请参考: - [快速入门](docs/quickstart.md) - [API文档](docs/api/index.md) - [最佳实践](docs/best-practices.md) - [常见问题](docs/faq.md) ## 贡献指南 我们欢迎并感谢所有的贡献。如果您想为项目做出贡献,请参考[贡献指南](CONTRIBUTING.md)。 ## 许可证 本项目采用MIT许可证,详情请参见[LICENSE](LICENSE)文件。 ## 联系我们 如果您有任何问题或建议,请通过以下方式联系我们: - 提交Issue:[GitHub Issues](https://github.com/bilibili/bili-sdk/issues) - 邮件:developer@bilibili.com