使用阿里API前,首先要用企业账号申请开发者,并创建应用,授权用户。这些都在平台说明里有。阿里平台介入说明

这里主要说一下,如何构建阿里API请求数据。以

com.alibaba.trade:alibaba.trade.getBuyerOrderList-1 订单列表查看(买家视角)

为例

Controller

        /// <summary>/// 获取1688用户所有未付款订单/// </summary>/// <param name="accountId">下单账户</param>/// <returns></returns>public JsonResult GetOrderList(string accountId){AliAccountModel model = aliAccountService.GetAliAccount(GlobalModel.Instance.AliAPIAppName, accountId);model.API = "com.alibaba.trade/alibaba.trade.getBuyerOrderList";//需要的API:获取用户订单列表model.Parameters = "page=1&pageSize=20&needBuyerAddressAndPhone=false&needMemoInfo=false";//参数第一页前20条数据#region 时间戳计算:需要考虑阿里平台时间//System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区//long timeStamp = (long)(DateTime.Now - startTime).TotalMilliseconds; // 相差毫秒数 //model.TimeStamp = timeStamp.ToString();#endregionstring strUrl = aliAccountService.GetAliRequestUrl(model);return Json(new { Status = true, Msg = strUrl });}

实现

/// <summary>/// 获取1688请求url/// </summary>/// <param name="model">接口实体</param>/// <returns></returns>public string GetAliRequestUrl(AliAccountModel model){string strUrl = string.Format(@"param2/1/{0}/{1}", model.API, model.APPKey);string strParameter = string.Empty;//参数string strJoinParameter = string.Empty;//参数拼装处理#region 参数:strParameter;拼装参数:strJoinParameterList<string> list = new List<string>();strParameter = model.Parameters;strParameter += "&access_token=" + model.AccessToken;if (!string.IsNullOrWhiteSpace(model.TimeStamp)){strParameter += "&_aop_timestamp=" + model.TimeStamp;}string[] arrayParameter = strParameter.Split(new[] { '&' }, StringSplitOptions.None);foreach (string item in arrayParameter){list.Add(item.Replace("=", ""));}list.Sort();strJoinParameter = string.Join("", list);#endregion#region sha1计算结果:hexstring strSha1 = strUrl + strJoinParameter;var SecretKey = Encoding.Default.GetBytes(model.APPSecretKey);byte[] data = Encoding.Default.GetBytes(strSha1);System.Security.Cryptography.HMACSHA1 hmac = new System.Security.Cryptography.HMACSHA1() { Key = SecretKey };var result = hmac.ComputeHash(data);string hex = BitConverter.ToString(result, 0).Replace("-", string.Empty).ToUpper();#endregionstrParameter += "&_aop_signature=" + hex;strUrl += strParameter;strUrl = System.Web.HttpUtility.UrlEncode(strUrl);return strUrl;}

如何构建阿里API请求数据相关推荐

  1. 如何使用Django显示来自DigitalOcean API的数据

    The author selected the Mozilla Foundation to receive a donation as part of the Write for DOnations ...

  2. postman跨域测试_安装使用Hoppscotch构建API请求访问与测试

    什么是API请求构建工具 在移动互联网时代,面向多端开发成为主流,需要向用户提供如:安卓App.苹果App.WAP.小程序.Web网页等等多种应用入口,这些入口称为前端.而为不同前端提供数据和业务信息 ...

  3. vue-cli快速构建vue项目和本地模拟请求数据

    Vue-cli快速构建 Vue 项目和本地模拟请求数据 1 前提: 安装了 node.js 首先: 全局安装 vue-cli npm intsall vue-cli -g (-g代表全局安装) 2 使 ...

  4. Android 天气APP(三)访问天气API与数据请求

    上一篇:Android 天气APP(二)获取定位信息 访问天气API与数据请求 新版------------------- 一.和风天气 二.城市搜索接口 三.OKHttp使用 四.文章源码 旧版-- ...

  5. retrofit 解析百度地图api 返回数据_阿里二面:关于 Retrofit 你知道多少?看完你的offer稳了

    一.整体思路 从使用方法出发,首先是怎么使用,其次是我们使用的功能在内部是如何实现的, 实现方案上有什么技巧,有什么范式.全文基本上是对 Retrofit 源码的一个分析与 导读,非常建议大家下载 R ...

  6. [js] 一个api接口从请求数据到请求结束共与服务器进行了几次交互?

    [js] 一个api接口从请求数据到请求结束共与服务器进行了几次交互? API是一些预先定义的函数,或指软件系统不同组成部分衔接的约定.如果已经建立了连接,那么单次请求数据到请求结束应该是一次交互:如 ...

  7. 阿里云智能数据构建与管理 Dataphin公测,助力企业数据中台建设

    2019独角兽企业重金招聘Python工程师标准>>> 阿里云智能数据构建与管理 Dataphin (下简称"Dataphin")近日重磅上线公共云,开启智能研发 ...

  8. 实现调用阿里云API第一章——API请求与认证

    一.客户端请求包含的内容 1.URL(API调用地址) 2.请求方式 3.Headers(请求头) 4.Body(请求主体) 二.API请求的方式 GET:请求服务器获取一个资源 POST:请求服务器 ...

  9. 请求头没有origin参数_在尝试从REST API获取数据时,请求的资源上没有“Access-Control-Allow-Origin”标头...

    在尝试从REST API获取数据时,请求的资源上没有"Access-Control-Allow-Origin"标头 我试图从HP Alm的REST API中获取一些数据. 它用一个 ...

最新文章

  1. EOS开发基础之五:使用cleos命令行客户端操作EOS——智能合约之Exchange
  2. Day8 字符串操作
  3. 万维钢_《高手——精英的见识和我们的时代》读书笔记_1
  4. C# - dynamic 特性
  5. 机器学习快速截图工具matlab版本——文件夹批量处理(原创)
  6. Hadoop2源码分析-RPC机制初识
  7. [转][SVN] Hook scripts的使用方法
  8. JMeter性能测试-安装与入门
  9. python爬虫中for循环无法每一段输出_Python入门到掌握只需要这3大,4类,5大,6种,即可,附教程...
  10. 计算机 睡眠 无法打印,打印机脱机无法打印解决教程
  11. c语言三角函数精度不够,快速三角函数算法的误差控制(sin cos)
  12. C++用cmath求平方根和次方
  13. Projector学习笔记
  14. 网页中使用iconfont图标
  15. 爬取豆瓣电影排行榜top 250
  16. 移动硬盘H盘损坏文件系统变成RAW如何恢复
  17. 软件测试自动登录、浏览记录方向原理——基于Cookie和Session的区别和应用场景
  18. ★如何提高睡眠质量?
  19. Mac下的maven配置
  20. [PS业务知识]BCWS、BCWP、ACWP的理解

热门文章

  1. Linux套接字编程之sockaddr与sockaddr_in网络套接字,sockaddr_un进程间通信本地套接字
  2. IIoT可预测运维报告摘要
  3. LTE-PHY物理资源划分(一)
  4. 【雷达通信】基于matlab GUI相控阵雷达方向图【含Matlab源码 1048期】
  5. C语言校友录系统的设计,校友录系统设计(附源程序
  6. Java数据结构与算法 day02 链表
  7. DataX学习笔记-Reader插件开发
  8. spark sql教程_如何使用Spark SQL:动手教程
  9. 用word编辑论文——双栏下的脚注问题
  10. Dynamics CRM2011自定义框架解决方案