1、拼接授权 url 拼接用户授权需访问 url ,示例及参数说明如下: 

https://b.kuaidi100.com/open/oauth/authorize?response_type=code&client_id=LeWFeuaGwx1v&redirect_uri=http%3A
%2F%2Fb.kuaidi100.com%2Fopen%2Ftest%2Fsent.do&state=test123&timestamp=1533089506853&sign=918D78EF0B1
80029A52EB6560B03BBDA

【参数说明】

client_id :就是App Key,都在 第一步准备工作 里面讲好了,点进去翻看;

client_secret:就是App Secret;

redirect_uri:就是回调URL,自己后台的接口地址;

state:这个随便填一个就好,比如:"kuaidi";

timestamp:注意是毫秒数时间戳,13位喔;

sign:签名,这个是重点关注的对象,看文档也可以,但是文档有些细节未明确,这里请看下面:

sign组成需要把除了sign的所有参数进行首字母排序后进行拼接,并且用首尾client_secret包裹起来(并炸至两面金黄,隔壁小孩都馋哭了),例如:

$signstr=$client_secret.'client_id'.$client_id.'redirect_uri'.$redirect_uri.'response_type'.$response_type.'state'.$state.'timestamp'.$timestamp.$client_secret;

这里顺序就是按照首字母排序的(c-r-r-s-t),如果首字母相同,可随意,官方并未说明。

【URL拼接说明】

1)拼接时参数顺序按照参数列表来就好了;

2)拼接URL里面的redirect_uri 需要做一个urlencode 编码;

2、拼接好后,直接访问这个地址就会弹出快递100登录页面,说明已经完成了这一步了。

示例代码(PHP):

//1.拼接url,获取code
    public function kdurl() {
        $where = array('token' => $this->token, 'set_id' => $this->_get('set_id', 'intval'));
        $set_info = $this->set_db->where($where)->find();
        $url='https://b.kuaidi100.com/open/oauth/authorize?response_type=code';
        $client_id=$set_info['kdgjkey'];//页面 API 管理中的 App Key
       
        $redirect_uri=$set_info['kdgjredirect_uri'];//redirect_uri 指的是应用发起请求时,所传的回调地址参数,在用户授权后应用会跳转至 redirect_uri。要求与应用注册时填写的回调地址一致,这个是在后台填写的回调url,这里直接数据库查询出来,
        $state="ustar";//维持应用的状态,传入值与返回值保持一致。
        $timestamp=$this->getMillisecond();//毫秒时间戳

//生成签名,规则:
        /*1-所有参数进行按照首字母先后顺序排列
        array (
                appuid=ikd100_test005,
                client_id=LeWFeuaGwx1v,
                redirect_uri=http: //b.kuaidi100.com/open/test/sent.do,
                response_type=code,
                state=test123,
                timestamp=1533089192819
            )
          2-把排序后的结果按照参数名+参数值的方式拼接
          3-拼装好的字符串首尾拼接 client_secret 进行 md5 加密后转大写,client_secret 的值是申请 API 服务时获取的 App Secret
        */
        $client_secret=$set_info['kdgjsecret'];//企业用户
        $appuid=$set_info['kdkey'];//企业用户
        $client_id=$client_id;//页面 API 管理中的 App Key
        $response_type="code";
        $state=$state;
        $timestamp=$timestamp;//毫秒时间戳  $signstr=$client_secret.'appuid'.$appuid.'client_id'.$client_id.'redirect_uri'.$redirect_uri.'response_type'.$response_type.'state'.$state.'timestamp'.$timestamp.$client_secret;
        $sign=strtoupper(md5($signstr));//API 输入参数签名结果,md5后再转大写
        $redirect_uri=urlencode($redirect_uri);//url编码$url=$url.'&client_id='.$client_id.'&redirect_uri='.$redirect_uri.'&state='.$state.'&appuid='.$appuid.'&timestamp='.$timestamp.'&sign='.$sign;
        header('Location:'.$url);//这里跳转到授权登录页面,登录成功后将跳转到回调地址
    }

//获取毫秒级时间戳
    public function getMillisecond() {
        list($msec, $sec) = explode(' ', microtime());
        $msectime =  (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
        return $msectime;

}

快递100快递管家 API 接口文档(V6)开发二:拼接授权URL相关推荐

  1. Api 接口文档是什么?如何直接使用 ApiDoc 生成接口文档

    api接口文档 现代化开发大部分都是一种前后端分离的开发模式,前端与后端分别独立进行开发.等后续再去统一的联调.前后端分离的开发模式下,前后端沟通的成本增加,如何减少口头的交流成了关键.这时有一份高端 ...

  2. 手淘商品详情api接口|淘宝商品详情API接口文档

    应用场景: 淘宝商品详情API接口文档可以获取淘宝或天猫的全网商品详情信息 接口说明: 1.接口请求地址: http://xxxx/api/product/engage 2.接口请求条件: token ...

  3. 申请电子面单号API接口文档

    阿里.京东.拼多多等平台的电子面单接口只提供给有资质的服务商和自研系统,没有对接电商平台的ERP.WMS系统可以通过API接口来获取打印电子面单的能力,接口文档如下: 电商API接口文档-点击查看!h ...

  4. 极速验号API接口文档说明

    使用场景: 1.旺旺号授权后,可以获取大部分的数据 2.可根据用户的购买行为.信用分值等一系列的数值 3.相对于照妖镜验号来说,极速验号获取的信息更全面更准确,可以多维度判断旺旺号是否可靠 4.可以看 ...

  5. js学习总结----crm客户管理系统之项目开发流程和api接口文档

    CRM ->客户管理系统 CMS ->内容发布管理系统 ERP ->企业战略信息管理系统 OA -> 企业办公管理系统 产品 / UI设计:需求分析,产品定位,市场调查...按 ...

  6. 开发日记-20190328 关键词 利用eolinker一键快速生成API接口文档

    今天感觉效率真的很低= =各个层面的,apk发布到现场发现出现了问题,所以一个下午都在忙着解决现场出现的问题,领导一直打电话询问进度,午觉也没有睡所以今天预计的很多计划都处于停滞状态,像昨天规划的今天 ...

  7. 整合swagger2生成Restful Api接口文档

    整合swagger2生成Restful Api接口文档 swagger Restful文档生成工具 2017-9-30 官方地址:https://swagger.io/docs/specificati ...

  8. api服务器开发语言,【API编写】介绍一个国内强大的API接口文档写作网站showdoc - 最好的编程语言 - 博客园...

    这几天要写一个接口API文档,经理给我发过来一个,说要弄一个这样的接口文档,我一看,这可麻烦呀,有大纲有详细,我以为要用div+css去一个页面一个页面做呢,这工作量可不小,网站一搜索,竟然有可以直接 ...

  9. php怎么根据接口文档实现功能,CodeIgniter+swagger实现 PHP API接口文档自动生成功能...

    一.安装swagger 1.首先需要有composer,没有的自行百度安装 2.下载swagger,打开网站https://packagist.org/packages/zircote/swagger ...

最新文章

  1. Linux那些事儿之我是Sysfs(8)一起散散步-pathwalk
  2. python 为什么没有重载_python是否支持重载
  3. MVC通过ViewBag动态生成Html输出到View
  4. java输出文件中匹配的字段_Java如何从文件中打印与给定模式匹配的所有字符串?...
  5. .NET Core开源组件:后台任务利器之Hangfire
  6. Linux基础(文件权限续篇)
  7. 商户分账交易汇总和商户交易汇总不一致
  8. 从没有C到ANSI C的认识
  9. Linux 系统故障修复和修复技巧
  10. Mysql远程授权报语法错误
  11. 物资仓库管理软件分析
  12. 表贴电阻尺寸与什么有关_贴片电阻常见的规格封装和尺寸
  13. 基于Springboot+websocket的web聊天项目(论文+程序设计源码+数据库文件)
  14. [Rscript]探索性因子分析
  15. VScode 亮暗 高对比度 主题推荐
  16. 五笔字形字根及难字拆分
  17. 友情链接模块phpcms
  18. 比我的脸还干的gan货——Python Flask Web 框架入门
  19. 计算机 90学时培训总结,90学时培训心得体会
  20. Linux 文件隐藏权限

热门文章

  1. 从ST官网下载STM8/32的官方例程
  2. HDU-2993--MAX Average Problem详解
  3. 分享docker toolbox v18.09.3 + boot2docker.iso v19.03.1
  4. 相约孙武不夜城,共谱时代华章
  5. Vagrant:vagrant up卡死
  6. keil仿真和使用示波器调波形
  7. 【AI视野·今日Sound 声学论文速览 第四期】Thu, 21 Apr 2022
  8. 宽带的调制调节器LAN1和LAN2口的区别
  9. 台积电7nm+ EUV工艺已量产 华为新一代旗舰处理器麒麟985将率先使用
  10. unity音效管理器实现(二)之美