C#版字节跳动SDK - SKIT.FlurlHttpClient.ByteDance

news2024/11/18 11:34:55

前言

在我们日常开发工作中对接第三方开放平台,找一款封装完善且全面的SDK能够大大的简化我们的开发难度和提高工作效率。今天给大家推荐一款C#开源、功能完善的字节跳动SDK:SKIT.FlurlHttpClient.ByteDance。

项目官方介绍

可能是全网唯一的 C# 版字节跳动 SDK,封装全部已知的字节跳动 API,包含字节小程序开放平台、抖音开放平台、抖店开放平台、巨量引擎开放平台、TikTok Developer、TikTok Shop Open Platform 等模块,可跨平台,持续随官方更新。

项目特性

  • 基于 Flurl.Http,可与 IHttpClientFactory 集成。
  • 支持 .NET Framework 4.6.1+、.NET Standard 2.0+、.NET Core 2.0+、.NET 5+。
  • 支持 Windows / Linux / macOS 多平台部署。
  • 支持 System.Text.Json(默认)和 Newtonsoft.Json 两种序列化方式。
  • 强类型接口模型。
  • 全异步式编程。
  • 提供 SourceLink 调试符号文件。
  • 完整、完善、完全的字节跳动 HTTP API 封装。

项目模块

字节小程序开放平台(小程序、小游戏)、抖音开放平台、巨量引擎开放平台(头条广告)、TikTok Developer、TikTok Shop Open Platform等。

项目源码

抖音开放平台快速开始

模块功能描述

  • 基于抖音开放平台 API 封装。
  • 提供了抖音开放平台 API 所需的 AES、MD5、SHA-1、SHA-256、HMAC-SHA-256 等算法工具类。
  • 提供了生成授权链接、生成 JSBridge 签名、解析回调通知事件、解密手机号码等扩展方法。

快速入门

安装:

提示:如果你使用 Visual Studio NuGet 管理器图形化界面,请在搜索结果中勾选“包括预发行版”。

# 通过 NuGet 安装
> Install-Package SKIT.FlurlHttpClient.ByteDance.DouyinOpen
或
# 通过 dotnet-tools 安装
> dotnet add package SKIT.FlurlHttpClient.ByteDance.DouyinOpen
初始化:
using SKIT.FlurlHttpClient.ByteDance.DouyinOpen;

var options = new DouyinOpenClientOptions()
{
    ClientKey = "抖音开放平台应用Key",
    ClientSecret = "抖音开放平台应用密钥"
};
var client = new DouyinOpenClient(options);
请求 & 响应:
using SKIT.FlurlHttpClient.ByteDance.DouyinOpen;
using SKIT.FlurlHttpClient.ByteDance.DouyinOpen.Models;

/* 以获取用户信息接口为例 */
var request = new OAuthUserInfoRequest()
{
    AccessToken = "抖音开放平台的AccessToken",
    OpenId = "用户唯一标识"
};
var response = await client.ExecuteOAuthUserInfoAsync(request);
if (response.IsSuccessful())
{
    Console.WriteLine("昵称:" + response.Data.Nickname);
    Console.WriteLine("头像:" + response.Data.AvatarUrl);
}
else
{
    Console.WriteLine("错误代码:" + response.Extra?.ErrorCode);
    Console.WriteLine("错误描述:" + response.Extra?.ErrorDescription);
}

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

GitHub - fudiwei/DotNetCore.SKIT.FlurlHttpClient.ByteDance: 可能是全网唯一的 C# 版字节跳动 SDK,封装全部已知的字节跳动 API,包含字节小程序开放平台、抖音开放平台、抖店开放平台、巨量引擎开放平台、TikTok Developer、TikTok Shop Open Platform 等模块,可跨平台,持续随官方更新。欢迎 Star / Fork。QQ 交流群 875580418【满】、930461548。

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

加入DotNetGuide技术交流群

1、提供.NET开发者分享自己优质文章的群组和获取更多全面的C#/.NET/.NET Core学习资料、视频、文章、书籍,社区组织,工具和常见面试题资源,帮助大家更好地了解和使用 .NET技术。
2、在这个群里,开发者们可以分享自己的项目经验、遇到的问题以及解决方案,倾听他人的意见和建议,共同成长与进步。
3、可以结识更多志同道合的开发者,甚至可能与其他开发者合作完成有趣的项目。通过这个群组,我们希望能够搭建一个积极向上、和谐友善的.NET技术交流平台,为广大.NET开发者带来更多的价值。

欢迎加入DotNetGuide技术交流群👉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1142177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于nodejs+vue全国公考岗位及报考人数分析

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

iOS的应用生命周期

在iOS的原生开发中,我们需要特别关注两个东西:AppDelegate和ViewController。我们主要的编码工作就是在AppDelegate和ViewControlle这两个类中进行的。它们的类图如下图所示: AppDelegate是应用程序委托对象,它继承了UIResponder类…

抖音上怎么挂小程序?制作小程序挂载抖音视频

公司企业商家现在已经把抖音作为营销的渠道之一,目前抖音支持短视频挂载小程序,可方便做营销。以下给大家分享这一操作流程。 一、申请自主挂载能力 首先需要在抖音开放平台官网注册一个抖音小程序账号,然后申请短视频自主挂载能力。 二、搭…

Kubernetes技术与架构-存储 2

在Kubernetes集群中,一块持久化存储空间是可以被回收再利用,简称PV,即PersistentVolume,Pod实例需要使用PV的时候,可以使用PVC定义申请PV存储资源,PVC是PersistentVolumeClaim的简称,PV的申请分…

Git(SourceTree)变基操作使用

文章目录 一、变基的使用场景二、Source Tree上的变基操作1. 准备两个分支dev1和master2. 切换到dev1中,并选中master中提交的代码3. 鼠标右键,选择变基,弹出对话框选择确定。 变基就是rebase操作 一、变基的使用场景 假设分支a和分支b 在分…

Day12力扣打卡

打卡记录 找出满足差值条件的下标 II&#xff08;双指针维护最大最小&#xff09; 链接 采用双指针保留间隔 indexDifference 进行遍历&#xff0c;求出慢指针对应一路遍历过来的最大值和最小值。 class Solution { public:vector<int> findIndices(vector<int>…

【排序】js简单实现前端数组排序,多字段数组对象排序,字符串排序,数字排序等

数组对象排序&#xff08;多字段排序&#xff09; 排序前&#xff1a; 排序后&#xff1a; data() {return {list: [{ks: 外科,child_ks: 泌尿外科,xz: 外科一组,doctor: 小明,num: 18,num2: 19,num3: 20},{ks: 中医科,child_ks: 中医男科,xz: 外科一组,doctor: 小红,num: …

当生成式AI遇到业务流程管理,大语言模型正在变革BPM

生成式AI对各领域有很大影响&#xff0c;一个方面在于它改变了很多固有业务的工作流。 工作流&#xff08;Workflow&#xff09;是业务流程的一种实现方式&#xff0c;一个业务流程往往包含多个工作流范式以及相关的数据、组织和系统。 因此&#xff0c;提及工作流必然离不开业…

(el-Table)操作(不使用 ts):Element-plus 中 Table 多选框的样式等的调整

Ⅰ、Element-plus 提供的 Table 表格组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供 Table 组件情况&#xff1a; 其一、Element-ui 自提供的 Table 代码情况为(示例的代码)&#xff1a; // Element-plus 自提供的代码&#xff1a; // 此时是使用了 ts 语言环境…

Java练习题2020-2

"统计1到N的整数中,除了1和自身之外&#xff0c;至少还能被两个数整除的数的个数 输入说明&#xff1a;整数 N(N<10000)&#xff1b; 输出说明&#xff1a;符合条件的数的个数 输入样例&#xff1a;10 输出样例&#xff1a;3 (说明&#xff1a;样例中符合条件的3个数是…

一个比较特别的串口工具

这是08年写的一个 并网带电池逆变器 的通讯工具&#xff0c;和普通的串口调试器相比&#xff0c;多了一个【脚本】功能。能够通过【脚本】完成通讯测试。 PC发给DSP的01命令 01 10 1B 00 CF A3 00 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 电…

开源移动核心网Magma架构设计启示

Magma是由Meta Connectivity开发并开源给Linux基金会的开源移动核心网项目&#xff0c;目的是构建灵活、低成本、可扩展的移动核心网。本文介绍了Magma架构设计的基本理念和取舍。原文: Implications of the Magma Architecture: Interoperability, Scale and Resilience 简介 …

Steger算法实现结构光光条中心提取(python版本)

Steger算法原理 对结构光进行光条中心提取时,Steger算法是以Hessian矩阵为基础的。它的基础步骤如下所示: 从Hessian矩阵中求出线激光条纹的法线方向在光条纹法线方向上将其灰度分布按照泰勒多项式展开,求取的极大值即为光条在该法线方向上的亚像素坐标。对于二维离散图像来…

Java之JavaConfig

Java-JavaConfig 一&#xff0c;什么是JavaConfig 1.介绍 JavaConfig是一种用于配置Java应用程序的方法。它是Spring框架提供的一种替代XML配置的方式&#xff0c;旨在简化和增强应用程序的配置过程。 传统上&#xff0c;Spring框架使用XML文件来定义应用程序的配置信息&am…

神经网络与深度学习第四章前馈神经网络习题解答

[习题4-1] 对于一个神经元 &#xff0c;并使用梯度下降优化参数时&#xff0c;如果输入恒大于0&#xff0c;其收敛速度会比零均值化的输入更慢。 首先看一下CSDN的解释&#xff1a; 如果输入x恒大于0&#xff0c;使用sigmoid作为激活函数的神经元的输出值将会处于饱和状态&a…

postman做接口自动化测试

接口是用来连接服务端和客户端&#xff0c;一般返回的数据都是json。 get和post请求的区别&#xff1a; 1. get请求比post请求安全 2. get请求参数有长度限制&#xff0c;post请求没有 3. get请求没有body&#xff0c;参数都是放在url里面&#xff0c;而post请求是放在body…

Pytorch从零开始实战07

Pytorch从零开始实战——咖啡豆识别 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——咖啡豆识别环境准备数据集模型选择训练模型可视化模型预测其他问题总结 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.8&#xff0c;Pytor…

MobPush厂商通道回执配置指南(Vivo,荣耀)

MobPush作为一款好用、可靠的智能推送开发者工具&#xff0c;为APP开发者提供了推送后用户行为的全链路数据分析&#xff0c;从而开发者可以更好地了解用户行为&#xff0c;优化推送策略&#xff0c;提高消息送达率&#xff0c;从而提升用户体验。 但这需要通过在后台配置厂商…

计算机网络重点概念整理-第二章 物理层【期末复习|考研复习】

第二章 物理层 【期末复习|考研复习】 计算机网络系列文章传送门&#xff1a; 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称&缩写 文章目录 第二章 物理层 【期末复习|考研复习…

『51单片机』 DS1302时钟

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大…