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

前言

在我们日常开发工作中对接第三方开放平台,找一款封装完善且全面的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.rhkb.cn/news/171426.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

报错:Could not resolve host: mirrorlist.centos.org;Unknown error

报错:Could not resolve host: mirrorlist.centos.org;Unknown error 一般是因为网络配置错误导致无法连接外网,我们先尝试ping一下www.baidu.com发现无法ping通。 果然,接下来我们就开始排查吧!! 1.网络配置查看 打开…

【2024秋招】2023-9-16 贝壳后端开发二面

1 自我介绍 2 秒杀系统 2.1 超卖怎么解决 3 redis 3.1 过期策略 3.2 过期算法 4 kafka 4.1 说一说你对kafka的了解 4.2 如何保证事务性消息 4.3 如何保证消息不丢失 4.4 消息队列的两种通信方式 点对点模式 如上图所示,点对点模式通常是基于拉取或者轮询…

QWidget|QFrame设置背景透明且可以带有边框颜色

QWidget|QFrame设置背景透明且可以带有边框颜色 Chapter1 《Qt》part 6 QSS Qt样式表——界面美化1($$$)Chapter2 【QT】QSS美化——基础知识Chapter3 QWidget|QFrame设置背景透明且可以带有边框颜色参考链接Chapter4 Qt 中设置窗体(QWidget)透明度的几种方法1. 设置窗体的背景…

源码角度分析Java 循环中删除数据为什么会报异常

一、源码角度分析Java 循环中删除数据为什么会报异常 相信大家在之前或多或少都知道 Java 中在增强 for中删除数据会抛出:java.util.ConcurrentModificationException 异常,例如:如下所示程序: public class RmTest {public sta…

【微信小程序】发布投票与用户投票完整讲解

目录 前言 组件功能示例 一、数据库 二、后端接口定义 三、前端准备 3.1 定义连接接口 3.2 Vant Weapp UI 组件库 3.3 授权登录与相关工具 四、小程序编写 4.1 投票组件 WXML WXSS JSON WXJS 效果展示讲解: 4.2 发布投票组件 WXML WXSS JSON WX…

qt hiRedis封装使用

qt Redis使用_大别山的孩子的博客-CSDN博客文章浏览阅读2.6k次。代码是对redis常见的hash的封装和使用每个函数都亲自测试过关于如何安装hiredis模块,网上一搜一大堆,这里不在赘述,如有其他问题欢迎留言交流。头文件#ifndef REDISBASEMODULE_…

windows PC virtualBox 配置

效果: oracle vitualbox 可以访问通PC主机,可以访问外网: 注意,如果docker0网络地址,和PC主机的网络地址冲突了,需要变更docker的网络地址: root/home/mysqlPcap/anti-tamper $ cat /etc/docker/daemon.js…

【计算机网络】从输入URL到页面都显示经历了什么??

文字总结 ① DNS 解析:当用户输入一个网址并按下回车键的时候,浏览器获得一个域名,而在实际通信过程中,我们需要的是一个 IP 地址,因此我们需要先把域名转换成相应 IP 地址。浏览器会首先从缓存中找是否存在域名&…

【C语言】memmove()函数(拷贝重叠内存块函数详解)

🦄个人主页:修修修也 🎏所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 一.memmove()函数简介 1.函数功能 2.函数参数 1>.void * destination 2>.onst void * source 3>.size_t num 3.函数返回值 4.函数头文件 二.memmove()函数…

centos 8 yum源不能使用问题

问题:新安装的centos 8 不能使用wget就不能下载和安装其他的软件 错误:为仓库 appstream 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist 解决: [rootlocalhost ~]# cd /etc/yum.repos.d [rootlocalhost yu…

简历自动生成工具

简历自动生成工具 简历自动生成工具,可根据提供的关键字生成完整内容,并应用于多个模板中。避免想更换简历风格的小伙伴,重复编辑简历的烦恼。 使用方法 每个求职者都需要认真对待自己的简历,特别是那些实力还不错的&#xff0c…

JavaScript在IE和标准浏览器下的兼容性处理

目录 ​编辑 前言 1. 事件对象的获取 2. 获取浏览器窗口的宽度和高度 3. 获取事件的目标元素 4. 阻止事件的默认行为 5. 阻止事件冒泡 6. 设置和获取元素的属性 7. 类名的操作 8. AJAX的兼容性处理 9. DOM元素的操作 10. 样式的获取和设置 总结 前言 在Web开发中…

第2篇 机器学习基础 —(2)分类和回归

前言:Hello大家好,我是小哥谈。机器学习中的分类和回归都是监督学习的问题。分类问题的目标是将输入数据分为不同的类别,而回归问题的目标是预测一个连续的数值。分类问题输出的是物体所属的类别,而回归问题输出的是数值。本节课就…

AR眼镜安卓主板,智能眼镜光机方案定制

AR智能眼镜是一项涉及广泛技术的创新产品,它需要考虑到光学、显示、功耗、散热、延迟、重量以及佩戴人体工学等多个方面的因素,每一个项目都是技术进步所需攻克的难题。 在本文中,我们将重点讨论AR眼镜的主板和光学方案。 首先是AR智能眼镜的…

非侵入式负荷检测与分解:电力数据挖掘新视角

电力数据挖掘 概述案例背景分析目标分析过程数据准备数据探索缺失值处理 属性构造设备数据周波数据模型训练 性能度量推荐阅读 主页传送门:📀 传送 概述 摘要:本案例将根据已收集到的电力数据,深度挖掘各电力设备的电流、电压和功…

​Vue2【双向数据绑定/响应式原理】

目录 初始化 initProps():父组件传的 props 列表,proxy() 把属性代理到当前实例上 vm._props.xx 变成 vm.xx initData():判断data和props、methods是否重名,proxy() 把属性代理到当前实例上 this.xx observe():给…

Linux设置命令开机自动执行

~/.bash_profile完整的命令占用一行,开机自动执行

前端工程化面试题及答案【集合】

前言: 欢迎浏览和关注本专栏《 前端就业宝典 》, 不管是扭螺丝还是造火箭, 多学点知识总没错。 这个专栏是扭螺丝之上要造火箭级别的知识,会给前端工作学习的小伙伴带来意想不到的帮助。 本专栏将前端知识拆整为零,主要…

大语言模型(LLM)综述(四):如何适应预训练后的大语言模型

A Survey of Large Language Models 前言5. ADAPTATION OF LLMS5.1 指导调优5.1.1 格式化实例构建5.1.2 指导调优策略5.1.3 指导调优的效果5.1.4 指导调优的实证分析 5.2 对齐调优5.2.1 Alignment的背景和标准5.2.2 收集人类反馈5.2.3 根据人类反馈进行强化学习5.2.4 无需 RLHF…

分享8个分布式Kafka的使用场景

Kafka 最初是为海量日志处理而构建的。它保留消息直到过期,并让消费者按照自己的节奏提取消息。与它的前辈不同,Kafka 不仅仅是一个消息队列,它还是一个适用于各种情况的开源事件流平台。 1. 日志处理与分析 下图显示了典型的 ELK&#xff0…