淘宝开放平台API设计的疑问

发布于 2022-09-01 05:13:21 字数 1451 浏览 18 评论 0

淘宝提供了一套基于Http的Api调用方式,详情参见 淘宝开放平台。这是这套Api的系统参数:
图片描述
完整的调用例子:
1、输入参数为
method=taobao.user.seller.get
timestamp=2013-05-06 13:52:03
format=xml
app_key=test
v=2.0
fields=nick
sign_method=md5
session=test
2、按首字母升序排列
app_key=test
fields=nick
format=xml
method=taobao.user.seller.get
session=test
sign_method=md5
timestamp=2013-05-06 13:52:03
v=2.0
3、连接字符串
连接参数名与参数值,并在首尾加上secret,如下:
testapp_keytestfieldsnickformatxmlmethodtaobao.user.seller.getsessiontestsign_methodmd5timestamp2013-05-06 13:52:03v2.0test
4、生成签名 sign
32位大写MD5值->72CB4D809B375A54502C09360D879C64
5、拼装API请求
将所有参数值转换为UTF-8编码,然后拼装,通过浏览器访问该地址,即成功调用一次接口,如下(http或https网关):
http://gw.api.taobao.com/router/rest?sign=72CB4D809B375A54502C09360D879C64&timestamp=2013-05-06+13%3A52%
3A03&v=2.0&app_key=test&method=taobao.user.seller.get&format=xml&session=test&fields=nick

这里为什么要额外地设计一个sign参数呢?这个sign参数究竟是起到什么作用呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我要还你自由 2022-09-08 05:13:21

基于1楼额外补充。
有些数据是隐私。比如订单、金额等。
你作为卖家不会非常希望你的订单数据被别人轻易拿走吧?
如果你的appKey泄露了(泄露的方式很简单,我下了你做的App,然后抓个包)
这时候如果没有sign,我就可以拼接一串url去请求淘宝,然后我就获得了你的数据。
有了sign,淘宝就可以判断发起这个请求的人是不是真正有权限的人,因为我不知道你的secret我就不能创建出有效的sign,就达到了安全的目的。

海未深 2022-09-08 05:13:21

sign验证授权用的,因为生成sign的时候,需要secretkey,这个secretkey正常情况下只有你有,其他人不会知道的。要是出问题了,就找你负责。

梦行七里 2022-09-08 05:13:21

sign有两个目的
1. 验证你所传参数的合法性,比如有人劫持你的参数再修改你提交的参数比如把money=1改成money=10000,参数改变生成的sign肯定不一样
2. 验证是否是你本人,因为只有你自己知道secret_key,sign就类似于加密后的password

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文