一、前言
主要步骤:
1、注册淘宝联盟和淘宝开放平台账号
2、申请推广位PID
3、申请App Key和App Secret
4、下载SDK
淘宝联盟的官方文档,其中页面版本是老的,新版本的请按照我这边截图的步骤
https://aff-open.taobao.com/?spm=a219a.13922336.0.0.373c24adbNEN6A#/document
二、注册账号
首先在没有对接api前需要去注册一个阿里几个平台的账号,也可以直接用个人/企业 淘宝账号直接登录。
- 1.淘宝联盟: https://pub.alimama.com/
- 2.淘宝开放平台: http://open.taobao.com/
三、申请推广位PID
1、登录进淘宝联盟: https://pub.alimama.com/,然后点进入后台
2、选择“推广管理”->"媒体备案管理" -> "新增媒体备案"
3、选择 "地方平台"-> "社交平台"-> "点击下一步"
4、填写相关信息,点击下一步
5、然后选择“推广管理”->"推广位管理" -> "新增推广位"
6、选择上面创建的媒体,成功后会返回PID信息
注:淘宝客pid组成介绍:pid=mm_1_2_3(其中1/2/3分别代表一串数字,举例pid=mm_98836808_12970065_68140878)
说明:
- 1、其中1这串数字对应淘宝客的账户id(通常称member);
- 2、这串数字对应媒体管理中备案的网站或APP(统称site,包含网站ID、APPID);
- 3、这串数字对应网站或APP中的具体推广位(通常称adzone)。
- 4、每一个网站(网站ID)或APP(APPID),均可申请自己的appkey,供对应网站/APP使用,调用api时系统会校验是否应用于对应网站ID或APPID。如果appkey不匹配或传递参数错误,会不算淘客交易,切记!
四、申请App Key和App Secret
1、登录淘宝开放平台: http://open.taobao.com/ ,进入 "控制台"
2、点击 "应用管理"->"新建应用"
3、选择 "其他",状态为可申请的才能创建应用,创建好后会生成App Key和App Secret
4、创建好应用后,要发布上线和申请淘宝客API权限,按照提示操作就可以了
获取的淘宝客权限能力参考这篇:https://tbk.bbs.taobao.com/detail.html?appId=45301&postId=8127005
目前根据个人权限只有如下红框里的有用,有权限的只有淘口令
四、编码准备
1、文档查看和接口测试
- 文档地址:https://open.taobao.com/api.htm?docId=24515&docType=2
- 接口测试:https://open.taobao.com/docV3.htm?spm=a219a.7386653.0.0.c7f4669au8AY1t&docId=1&docType=15
2、接口请求参数
- 主要是淘宝联盟里申请到的推广位PID和淘宝开放平台的App Key、App Secret为主
- 淘宝联盟https://pub.alimama.com/,推广位PID查看:
进入推广管理->推广资源管理->推广位管理,下面列表的pid中类似是mm_260870060_224000411_63877050230的字符串,adzone_id就是在_最后的那个,260870060淘宝联盟账户id,224000411推广媒体id(是网站还是app,是安卓亦是苹果),63877050230推广位id。
- 淘宝开放平台http://open.taobao.com/,App Key和App Secret查看:
进入应用管理->管理
3、SDK下载,按照链接里的操作
https://aff-open.taobao.com/?spm=a219a.13922336.0.0.373c24adbNEN6A#/document
注意:
其中官方提供的Python是2.x版本的,Python3.x的版本github里有 github地址:https://github.com/makelove/Taobao_topsdk/tree/master/%E6%B5%8B%E8%AF%95
4、下载完后导入的自己的IDE工程里
淘宝客API主要在top文件夹里,demo文件夹是我手工创建的这里面的程序需要自己写
5、举一个列子
1、创建config.py文件,主要放自己上面申请到的参数:推广位PID、App Key和App Secret
# -*- coding: utf-8 -*-
"""
config.py:
"""
#设置为你的key
appkey = "31673409"
secret = "c37551da4950a87bee6a3342442bffbd"
pid = 110950050487#110944334285 # mm_123_456_274398347498 #最后一位
2、调用淘宝客API
比如我调用的是taobao.tbk.item.info.get这个接口,请求参数和返回参数请查看接口文档
https://open.taobao.com/api.htm?docId=24515&docType=2
# -*- coding: utf-8 -*-
# 接口地址:https://open.taobao.com/api.htm?docId=24518&docType=2&scopeId=16189
import sys
sys.path.append("..")
from config import appkey, secret
from pprint import pprint
from top.api import TbkItemInfoGetRequest
from top import appinfo
req = TbkItemInfoGetRequest()
req.set_app_info(appinfo(appkey, secret))
req.platform = 2 # 链接形式:1:PC,2:无线,默认:1
#需要带入参数
req.num_iids = "562383397584" #商品ID
try:
resp = req.getResponse()
it = resp['tbk_item_info_get_response']['results']['n_tbk_item'][0]
info=u'''店铺名称:%s
30天销量:%s
商品标价:%s
商品链接:%s
'''%(it['nick'],it['volume'],it['zk_final_price'],it['item_url'])
print(info)
pprint(it)
# ds = json.dumps(resp)
# print(ds)
except Exception as e:
print(e)
3、返回效果
店铺名称:资生堂集团海外旗舰店
30天销量:3082
商品标价:90
商品链接:https://detail.tmall.hk/hk/item.htm?id=562383397584
接口返回的报文,我们需要提取里面有用的字段信息:
{u'cat_leaf_name': u'\u6d17\u53d1\u6c34',
u'cat_name': u'\u7f8e\u53d1\u62a4\u53d1/\u5047\u53d1',
u'free_shipment': True,
u'item_url': u'https://detail.tmall.hk/hk/item.htm?id=562383397584',
u'ju_online_end_time': u'0',
u'ju_online_start_time': u'0',
u'ju_pre_show_end_time': u'0',
u'ju_pre_show_start_time': u'0',
u'material_lib_type': u'1',
u'nick': u'\u8d44\u751f\u5802\u96c6\u56e2\u6d77\u5916\u65d7\u8230\u5e97',
u'num_iid': 562383397584L,
u'pict_url': u'https://img.alicdn.com/bao/uploaded/i1/2735822823/O1CN01Qbl5FC1Wiyj5MwPEV_!!0-item_pic.jpg',
u'presale_deposit': u'0',
u'presale_end_time': 0,
u'presale_start_time': 0,
u'presale_tail_end_time': 0,
u'presale_tail_start_time': 0,
u'provcity': u'\u65e5\u672c',
u'reserve_price': u'118',
u'seller_id': 2735822823L,
u'small_images': {u'string': [u'https://img.alicdn.com/i1/2735822823/TB2aFnGi6nD8KJjSspbXXbbEXXa_!!2735822823.jpg',
u'https://img.alicdn.com/i3/2735822823/O1CN01NoerEw1WiyfLWt5HL_!!2735822823.jpg',
u'https://img.alicdn.com/i2/2735822823/O1CN011WiyYNyMVt79F35_!!2735822823.jpg']},
u'superior_brand': u'0',
u'title': u'\u8d44\u751f\u5802FINO\u7f8e\u5bb9\u590d\u5408\u7cbe\u534e\u6d17\u53d1\u6c34\u6ecb\u6da6\u578b550mL \u4fee\u62a4\u67d3\u70eb\u53d7\u635f\u53d1\u8d28\u8fdb\u53e3',
u'tmall_play_activity_end_time': 0,
u'tmall_play_activity_start_time': 0,
u'user_type': 1,
u'volume': 3082,
u'zk_final_price': u'90'}