淘宝对接(二)

摘要:
完成淘宝对接(一)的内容后,我们得到了非常重要的AppKey和AppSecret。获取用户授权的过程可以在淘宝文档:用户授权简介中查看。

完成淘宝对接(一)的内容后,我们获得非常重要的App KeyApp Secret。但如果想访问商户数据(如商品、订单等)还需要获取访问商户数据的授权令牌 Access Token。获取用户授权的流程可以查看淘宝文档:用户授权介绍

尽管用户授权文档比较详尽地说明了申请流程。但在这里我还是挑出一些我当时不太明白的步骤进行讲解:

1. 获取授权码(即在"用户授权文档"中提到的code)。以下是文档提到的获取流程图:

淘宝对接(二)第1张

1.1 拼接授权url:

https://oauth.taobao.com/authorize?response_type=code&client_id=App Key(App Kep的值)&redirect_uri=http://www.oauth.net/2/(该地址为设置应用时填写的回调URL而且必须可以被淘宝访问)&state=1212&view=web。

淘宝对接(二)第2张

1.2 将上面拼接好的url直接复制黏贴到浏览器地址栏中(建议使用火狐或Google浏览器进行该操作)。回车后转到下面的授权页面。

淘宝对接(二)第3张

1.3 商户填入用户名及密码进行授权。授权完成后页面会跳转并在地址栏上获取到授权码:code

淘宝对接(二)第4张

1.4 获得授权码后可以使用程序的方式获取Access Token。以下为C#语言实现的例子。文档中有其他语言的实现例子  

private void GetAccessToken(string Appkey, string AppSecret, string Code, string redirect_url)
{
  WebUtils webUtils = new WebUtils();
  IDictionary<string, string> pout = new Dictionary<string, string>();
  pout.Add("grant_type", "authorization_code");
  pout.Add("client_id", Appkey的值);
  pout.Add("client_secret", AppSecret的值);
  pout.Add("code", Code刚获得的授权码);
  pout.Add("redirect_uri", redirect_url设置应用时填写的回调URL。1.1步骤的图);
  string output = webUtils.DoPost("https://oauth.taobao.com/token", pout);
  Console.Write(output);
  WriteFile("Token", output);
  Console.ReadLine();
}

运行后淘宝会返回以下事例信息。里面就包含有Access Token。

 淘宝对接(二)第5张

2. 淘宝安全性

2.1 淘宝有一套安全设定。Access Token是有一个有效时间的。在淘宝文档:应用授权规则中有详细描述不同环境下Access Token的有效时间是多长。查看应用管理中自己应用的状态便可以知道目前应用是处于什么环境。如下图所示:应用处于正式测试的环境。

 淘宝对接(二)第6张

2.2 除Access Token有会有时效性外,淘宝更设有应用安全等级。同样在淘宝文档:应用授权规则中有详细描述

淘宝开放平台对API分为r1,r2,w1,w2四个级别。应用分为0,1,2,3四种安全级别的标记。不同的API级别(r1,r2,w1,w2)根据应用的安全级别(0,1,2,3)有不同的有效时间。这些有效时间在获取Access Token时候会标识在返回的数据中(以秒为单位)。

淘宝对接(二)第7张

更简单地说有这些有效时间会影响到你是否能调用淘宝API访问淘宝获取数据。淘宝文档:开发平台安全等级说明(淘宝文档应用授权规则的补充)有详细说明怎样查询什么API属于哪个级别。提升应用的安全级别能令API的级别提高。也就是使API的有效时间延长。淘宝文档:开发平台安全等级说明附带有怎样提高应用安全等级的指引。

2.3 淘宝API有自己所属的权限组。也就是说API只能在自己所属的权限组内使用。不能获取其他权限组的信息。淘宝文档:应用权限说明有详细介绍。

免责声明:文章转载自《淘宝对接(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇windows用navict for mongo 把mongo 数据库中的数据全部导入另一个数据库K8S(rancher) 服务(POD)定时重启服务方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Jenkins持续集成&amp;amp;安装配置

转载地址:https://blog.csdn.net/weixin_41947378/article/details/111559374 一、什么是持续集成? 持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库。这个概念是为了消除发现的问题,后来出现在构建生命周期的问题。持续集成要求开发人员有频繁的构建。最常见的做法是,每当一个代码提交时,构建...

RabbitMQ(二):Java 操作队列

1. 简单模式 模型: P:消息的生产者 队列:rabbitmq C:消息的消费者 获取 MQ 连接 public static Connection getConnection() throws IOException, TimeoutException { // 定义一个连接工厂 ConnectionFactory...

Java中String的 "引用" 传递

1、来看一段有趣但又让人困惑的代码片段 public static voidmain(String[] args){ String x = new String("ab"); change(x); System.out.println(x); } public static void...

c# 键值对的方式post提交

DataContractJsonSerializer jsQcData = new DataContractJsonSerializer(typeof(DATA<data>));//DATA<data>要转换成json的值 MemoryStream msObj = new MemoryStream(); jsQcData.Writ...

死磕 java集合之WeakHashMap源码分析

欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 简介 WeakHashMap是一种弱引用map,内部的key会存储为弱引用,当jvm gc的时候,如果这些key没有强引用存在的话,会被gc回收掉,下一次当我们操作map的时候会把对应的Entry整个删除掉,基于这种特性,WeakHashMap特别适用于缓存处理。 继承体...

UED大全

http://www.baiduux.com/百度UFOhttp://ued.sohu.com/搜狐UEDhttp://ued.taobao.com/淘宝UEDhttp://www.ued163.com/网易UEDhttp://www.uedblog.com/YAHOO!CNUEDhttp://ued.ctrip.com/携程UEDhttp://fed.r...