1 Star 0 Fork 3

一菜鸟一 / open-taobao

forked from shop-yun.go / open-taobao 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

open-taobo-api

淘宝开放平台SDK-Go语言版 自带web小工具: 可测试基本流程, 可根据 ApiMetadata.xml 重新生成SDK源码并编译, 保持与淘宝同步

版本说明

  • 主包: 0.0.1 fork github.com/changkong/open_taobao
  • 子包: 根据淘宝 20140725 的 ApiMetadata.xml 生成
  • 工具程序: 0.0.3

运行环境

  • 操作系统: 由于使用Go原始功能,没有使用cgo,理论上go支持的操作系统都支持,当前只测试了linux mint
  • 测试环境 linux mint go1.3

安装说明

安装主包

  • go get github.com/cnphpbb/open_taobao

安装子包

  • go get github.com/cnphpbb/open_taobao/api/user

更多子包

  • 用户API: github.com/cnphpbb/open_taobao/api/user
  • 类目API: github.com/cnphpbb/open_taobao/api/item
  • 商品API: github.com/cnphpbb/open_taobao/api/product
  • 交易API: github.com/cnphpbb/open_taobao/api/trade
  • 评价API: github.com/cnphpbb/open_taobao/api/pinjia
  • 物流API: github.com/cnphpbb/open_taobao/api/delivery
  • 店铺API: github.com/cnphpbb/open_taobao/api/shop
  • 分销API: github.com/cnphpbb/open_taobao/api/fenxiao
  • 旺旺API: github.com/cnphpbb/open_taobao/api/wangwang
  • 主动通知业务API: github.com/cnphpbb/open_taobao/api/notice
  • 工具类API: github.com/cnphpbb/open_taobao/api/tools
  • 物流宝API: github.com/cnphpbb/open_taobao/api/wlb
  • 直通车API: github.com/cnphpbb/open_taobao/api/simba
  • 收藏夹API: github.com/cnphpbb/open_taobao/api/favorite
  • 机票API: github.com/cnphpbb/open_taobao/api/jipiao
  • 营销API: github.com/cnphpbb/open_taobao/api/marketing
  • 酒店API: github.com/cnphpbb/open_taobao/api/hotel
  • 店铺会员管理API: github.com/cnphpbb/open_taobao/api/crm
  • 多媒体平台API: github.com/cnphpbb/open_taobao/api/dmt
  • 子账号管理API: github.com/cnphpbb/open_taobao/api/subuser
  • 服务平台API: github.com/cnphpbb/open_taobao/api/fuwu
  • 退款API: github.com/cnphpbb/open_taobao/api/refund
  • 关联推荐API: github.com/cnphpbb/open_taobao/api/recommend
  • 组件API: github.com/cnphpbb/open_taobao/api/widget
  • 支付宝API: github.com/cnphpbb/open_taobao/api/alipy
  • 天猫精品库API: github.com/cnphpbb/open_taobao/api/jp
  • 聚石塔API: github.com/cnphpbb/open_taobao/api/rds
  • 旅行度假API: github.com/cnphpbb/open_taobao/api/trvael
  • 彩票API: github.com/cnphpbb/open_taobao/api/caipiao
  • 账务API: github.com/cnphpbb/open_taobao/api/bill
  • 天猫退款退货API: github.com/cnphpbb/open_taobao/api/eai

测试说明

运行如下命令, 执行web小工具

  • cd tools
  • go build .
  • tools

启动后,默认通过80端口访问, 提供如下功能:

  • 参数修改保存
  • 授权登陆测试
  • 用户信息获取测试
  • 根据淘宝最新 ApiMetadata.xml 重新生成SDK源码并编译, 保证代码最新
  • ApiMetadata.xml 在 tools/conf 目录下,可从 淘宝这里 下载最新配置

界面图片

auth test make

代码样例

  • 获取授权url(供用户访问、授权)
url, err := open_taobao.GetUrlForAuth(AppKey, RedirectUri, "")
// 可参考 tools/CtrlAuth.go 的 do 方法
  • 获取用户授权后的处理(接收淘宝回调信息)
var req open_taobao.TokenGetRequest
req.SetAppKey(AppKey)
req.SetAppSecret(AppSecret)
req.SetRedirectUri(RedirectUri)
req.SetCode(code)
req.SetState("")
resp, _, err := req.GetResponse()
// 成功后 resp.AccessToken 就是访问令牌,可以用来调用功能API了
// 可参考 tools/CtrlAuth.go 的 callback 方法
  • 调用功能API
var req user.UserBuyerGetRequest
req.SetFields("user_id, nick")
resp, data, err := req.GetResponse(AccessToken)
// 成功后 resp 是结果对象, data 是返回的原始json串
// 可参考 tools/CtrlTest.go 的 userBuyerGet 或 userSellerGet 方法

技术说明

  • 调用方式: 只支持 https 免签调用方式

  • 业务字段: 为了调用方便, 都生成相关字段或方法, 而不是 map 或 json 对象, 缺点是代码多, 包大

  • 子包分拆: 由于生成完整的Go包, 有20多M, 太大了,因此按淘宝官方的分类分拆成子包

    • API分类淘宝没有给出配置文件, 是根据淘宝API列表, 手工维护的配置表, 原理根据 api 前缀分类
    • 配置文件是 tools/conf/package.json, 若分类有问题,可修改该配置文件, 然后重新生成SDK
  • 调用参数: 所有调用参数,只支持字符串类型

  • 返回结果: 做了 string bool int float struct 的判断转型, 调用方便

  • 淘宝错误: 对淘宝返回错误做了包装, 都会通过 error 对象返回

  • 对象命名: 尽量参照淘宝官方其他SDK的命名方式, 例如:

    • 获取卖家信息的淘宝API是 taobao.user.seller.get
    • open_taobao 中对应 user 子包的 UserSellerGetRequest 对象的 GetResponse 方法
  • 前端框架: bootstrap jquery

  • **后端框架:**直接使用 go 自带功能

可以完善

  • 加密配置文件
  • 演示环境支持
  • 通用调用接口
  • 更多授权信息分辨
  • 直接下载配置文件
  • 编译进度
  • 分类包的自动检测
  • 更多测试

(^_^)

LICENSE

open_taobao is licensed under the MIT

The MIT License (MIT) Copyright (c) 2014 shop-yun.go Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

淘宝开放平台SDK-Go语言版 展开 收起
Go
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/pkpk8/open-taobao.git
git@gitee.com:pkpk8/open-taobao.git
pkpk8
open-taobao
open-taobao
master

搜索帮助