首页 > 编程语言 >C#类库推荐 拼多多.Net SDK,开源免费

C#类库推荐 拼多多.Net SDK,开源免费

时间:2023-09-01 15:37:52浏览次数:38  
标签:类库 PddOpenSdk C# MSDev var new Net pdd

背景介绍


近两年拼多多的发展非常迅速,即便口碑一般,也没有网页端,奈何我们已经全面小康,6亿月收入1000以下,9亿月收入2000以下,所以因为价格原因使用拼多多的用户也越来越多了。


同样的,拼多多也开放了部分API接口,提供给开发者使用,开放平台也是一如既往的拼多多,没法跟淘宝、京东等相比,至今没有测试环境,官方也只提供了Java版本的SDK,C#及.Net在国内的存量用户还是有一些的,虽然整体上目前还是不乐观,但我想有脑子的都知道,像C#这么优秀的语言和日益精进的.Net Core,未来一定会有越来越多的人采用的,在此背景下,通过官方提供的API文档,我编写了拼多多开放平台.Net SDK。


项目介绍


C#类库推荐 拼多多.Net SDK,开源免费_开放平台



地址


Github:https://github.com/niltor/open-pdd-net-sdk


nuget



概要


支持基于NETStandardv2.0 的项目,支持 .NetFramework 4.5.2+,C#8.0。


ASP.NET Core项目请使用 Nuget 包 MSDev.PddOpenSdk.AspNetCore,可直接通过注入服务的方式使用。


其他类型使用 Nuget 包 MSDev.PddOpenSdk


源码项目说明


Console项目


该项目是通过官方接口获取并自动生成所有请求模型类、返回模型类以及请求服务类,生成后部分类名会有重名,更改成不同的类名即可。


执行方法,打开Console目录,然后执行dotnet run命令即可。


执行成功后,可使用Visual Studio自带的代码清理,对所有文件进行代码格式化操作。


PddOpenSdk核心类库使用


支持 .Net Framework4.5.2及Net Standard 2.0 ,安装 Nuget 包 

MSDev.PddOpenSdk。


使用示例:


  • 基本请求及错误信息


class Program
{
    static async Task Main(string[] args)
    {
        //设置ClientId与ClientSecret
        PddCommonApi.ClientId = "ID";
        PddCommonApi.ClientSecret = "Secret";
        // 先使用code换取token
        string code = "";
        var authApi = new AuthApi();
        await authApi.GetAccessTokenAsync(code);
        // 构造请求内容
        var model = new GenDdkWeappQrcodeUrlRequestModel
        {
            PId = "123133",
            GoodsIdList = new System.Collections.Generic.List<long> { 1122, 331323 }
        };
        var api = new DdkApi();
        var result = await api.GenDdkWeappQrcodeUrlAsync(model);
        // 获取Pdd官方返回的错误信息
        var errorResponse = _pdd.DdkApi.ErrorResponse.Value;
        Console.WriteLine(errorResponse.Error_msg);
    }
}



  • 图片上传示例


var filePath = Path.Combine("images", "logo.png");
byte[] bytes = System.IO.File.ReadAllBytes(filePath);

// 构造图片上传内容
string base64 = "data:image/png;base64," + Convert.ToBase64String(bytes);
var model = new UploadGoodsImageRequestModel
{
    Image = base64
};
var result = await _pdd.GoodsApi.UploadGoodsImageAsync(model)



ASP.NET Core 项目使用


先安装Nuget 包 MSDev.PddOpenSdk.AspNetCore。


更多示例代码

https://github.com/niltor/open-pdd-net-sdk/tree/dev/PddOpenSdk/Sample。


  • 在 Startup.cs 中注入服务


services.AddPdd(options =>
{
    // 使用appsettings 配置你的ClientId等参数
    options.ClientId = Configuration.GetSection("Pdd")["ClientId"];
    options.CallbackUrl = Configuration.GetSection("Pdd")["RedirectUri"];
    options.ClientSecret = Configuration.GetSection("Pdd")["ClientSecret"];
});



  • 然后在控制器使用注入服务


readonly PddService _pdd;
public YourController(PddService pdd)
{
    _pdd = pdd;
}



  • 获取 AccessToken


/// <summary>
/// 测试获取token
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
public async Task<IActionResult> Callback(string code)
{
    var token = await _pdd.AuthApi.GetAccessTokenAsync(code);
    // 自行维护Token过期时间
    return Content(token.AccessToken);
}



  • 调用其他接口


获取 AccessToken 之后才能正常调用其他接口。


public async Task<ActionResult> Test()
{
    // 构造请求模型
    var requestModel = new SearchDdkGoodsRequestModel
    {
        SortType = 0,
        WithCoupon = false
    };
    // 调用相应接口方法
    var result = await _pdd.DdkApi.SearchDdkGoodsAsync(requestModel);
    return Content(JsonConvert.SerializeObject(result));
}



所有方法名与官方文档保持一致,并有中文注释提醒,只是更改了命名规范,非常容易查找使用。


标签:类库,PddOpenSdk,C#,MSDev,var,new,Net,pdd
From: https://blog.51cto.com/u_15979955/7323247

相关文章

  • Lnton羚通视频分析算法平台OpenCV-Python直方图反向投影教程
    OpenCVPython直方图反向投影用于图像分割和查找感兴趣目标。简单的说,会创建一个与输入图像同样大小的图像(单通道),每个像素对应像素属于目标的概率。更简单的说就是,输出图像在感兴趣的目标处更白。常常与camshift算法一起使用,用于目标跟踪(查找目标)如何使用呢?创建一个图像的直方......
  • 开发指导—利用CSS动画实现HarmonyOS动效(一)
    注:本文内容分享转载自HarmonyOS Developer官网文档一. CSS语法参考CSS是描述HML页面结构的样式语言。所有组件均存在系统默认样式,也可在页面CSS样式文件中对组件、页面自定义不同的样式。请参考通用样式了解兼容JS的类Web开发范式支持的组件样式。尺寸单位● 逻辑像素px(文档中以......
  • 基于MobileNet的图像分割模型
    整体架构流程数据处理模型构建以及模型训练模型测试IntelOneAPI使用数据处理cityscapes-dataset是一个用于计算机视觉领域的数据集,主要用于场景理解和自动驾驶等任务。该数据集包含来自德国50个城市的街景图像,其中包括高分辨率图像、标注图像和相机参数。标注图像包括像素级别的......
  • centos node.js安装puppeter遇到的一些错误
    libatk-1.0.so.0Failedtolaunchthebrowserprocess!/data/project/p_base/node_modules/puppeteer/.local-chromium/linux-1002410/chrome-linux/chrome:errorwhileloadingsharedlibraries:libatk-1.0.so.0:cannotopensharedobjectfile:Nosuchfileordi......
  • Spring源码分析(十三)ApplicationContext详解(下)
    前面两篇文章,已经对ApplicationContext的大部分内容做了介绍,包括国际化,Spring中的运行环境,Spring中的资源,Spring中的事件监听机制,还剩唯一一个BeanFactory相关的内容没有介绍,这篇文章就来介绍BeanFactory,这篇文章介绍,关于ApplicationContext相关的内容总算可以告一段落了。本文对应......
  • oracle 的 sqlplus 执行连接无反应
    背景:oracle集群突然出现了个事情,说是执行语句多给卡住了,然后sqlplus/assysdba 都没反应了,但是监听端口什么的也都还在解决过程:只能杀进程了,杀掉卡住的进程是最好的办法,下面是执行的语句ps-ef|grep"oracle"|grep "LOCAL=NO" |awk'{print$2}'|xargs kill-9两个......
  • tomcat 安装笔记 20230901
    war位置/usr/local/tomcat8_1/webapps/tomcat位置71.170/usr/local/tomcat8_1/给了点工具包位置/usr/local/tool/启动tomcatcd/usr/local/tomcat8_1/bin/./startup.sh没有权限启动cd/usr/local/tomcat8_1/bin/chmode777*启动失败没有java环境,安装下cd/usr/l......
  • 35.PT(percona-toolkit)常用功能
    percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql任务和系统任务,这些任务包括:检查master和slave数据的一致性有效地对记录进行归档查找重复的索引对服务器信息进行汇总临时暂停......
  • C# word对话框及任务窗格
    任务窗格//获取任务窗格对象TaskPanestaskPanes=wordApp.TaskPanes;//确保"格式"任务窗格可见if(taskPanes[WdTaskPanes.wdTaskPaneFormatting].Visible==false){taskPanes[WdTaskPanes.wdTaskPaneFormatting].Visible=true;}对话框wordApp.Dialogs[WdWo......
  • 林乐博士在CCF中国区块链技术大会发表特邀主旨演讲:产业区块链的探索与实践
    8月14日,第六届CCF中国区块链技术大会暨区块链专业委员会成立五周年庆典在南京隆重开幕。此次大会由中国计算机学会(CCF)主办。大会汇聚了国内外区块链领域的顶尖学者、专家,地方政府及产业精英,共同探讨区块链技术的最新进展、创新应用以及未来发展方向。零数科技创始人兼CEO林乐博士受......