public async Task <object> GetGoods(string q, long?pageNo, long?pageSize) { if (string.IsNullOrEmpty(q)) { q = "母婴"; } string url = "http://gw.api.taobao.com/router/rest"; string format = "json"; ITopClient client = new DefaultTopClient(url, appkey, appsecret, format); TbkItemGetRequest req = new TbkItemGetRequest(); req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick"; req.Q = q; req.IsTmall = true;//是否商城商品,设置为true表示该商品是属于淘宝商城商品,设置为false或不设置表示不判断这个属性 //req.Cat = "16,18"; req.PageNo = pageNo ?? 1; req.PageSize = pageSize ?? 40; //req.StartTkRate = 1000;//淘客佣金比率上限,如:1234表示12.34% req.EndTkRate = 1000;//淘客佣金比率下限,如:1234表示12.34% //req.StartPrice = 10;//折扣价范围下限,单位:元 //req.EndPrice = 10;//折扣价范围上限,单位:元 TbkItemGetResponse response = client.Execute(req); return(response.Body); }
/// <summary> /// 根据搜索信息搜索商品列表 /// </summary> /// <param name="req"></param> /// <returns></returns> public AliGoodSerarchRes GetAliGoodsList(AliGoodSerarchReq req) { AliGoodSerarchRes res = new AliGoodSerarchRes(); TbkItemGetRequest request = new TbkItemGetRequest() { Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick", Q = req.QueryKey, Cat = req.Cat, EndPrice = req.EndPrice, EndTkRate = req.EndTkRate, IsOverseas = req.IsOverseas, IsTmall = req.IsTmall, Itemloc = req.Itemloc, PageNo = req.PageNo, PageSize = req.PageSize, Platform = req.Platform, Sort = req.Sort, StartPrice = req.StartPrice, StartTkRate = req.StartTkRate }; ITopClient client = new DefaultTopClient(AliUrl, AliAppKey, AliAppSecret); TbkItemGetResponse rsp = client.Execute(request); res = DeserializeObject <AliGoodSerarchRes>(SerializeObject(rsp)); return(res); }
public List <TbkItem> getTbkitems(string sort, int page_no, int page_size = 100, long start_tk_rate = 3000, long end_tk_rate = 0) { TbkItemGetRequest req = new TbkItemGetRequest(); req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick"; req.Sort = sort; req.IsTmall = true; req.StartTkRate = start_tk_rate; req.EndTkRate = end_tk_rate; req.Platform = 2; req.PageNo = page_no; req.PageSize = page_size; req.Cat = get_cats(); TbkItemGetResponse response = topClient.Execute(req); JToken token = JsonConvert.DeserializeObject <JObject>(response.Body)["tbk_item_get_response"]; if (token["results"]["n_tbk_item"] == null) { return(null); } JToken tokenList = token["results"]["n_tbk_item"]; List <TbkItem> result = new List <TbkItem>(); foreach (JToken item in tokenList) { result.Add(new TbkItem() { num_iid = Convert.ToInt64(item["num_iid"].ToString()), title = item["title"] == null ? "" : item["title"].ToString(), pict_url = item["pict_url"] == null ? "" : item["pict_url"].ToString(), small_images = item["small_images"] == null || item["small_images"].ToString() == "{}" ? "" : item["small_images"]["string"].ToString().Replace("\n", "").Replace("\r", ""), reserve_price = item["reserve_price"].ToString(), zk_final_price = item["zk_final_price"] == null ? "" : item["zk_final_price"].ToString(), user_type = Convert.ToInt64(item["user_type"].ToString()), provcity = item["provcity"] == null ? "" : item["provcity"].ToString(), item_url = item["item_url"] == null ? "" : item["item_url"].ToString(), nick = item["nick"] == null ? "" : item["nick"].ToString(), seller_id = Convert.ToInt64(item["seller_id"].ToString()), volume = Convert.ToInt64(item["volume"].ToString()) }); } return(result); }
/// <summary> /// 搜索淘宝客商品 /// </summary> /// <param name="query"></param> /// <returns></returns> public static TbkItemGetResponse GetItemsWithQuery(string query) { string url = "http://gw.api.taobao.com/router/rest"; ITopClient client = new DefaultTopClient(url, appkey, secret); TbkItemGetRequest req = new TbkItemGetRequest(); req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick"; req.Q = query; //req.Cat = "16,18"; //req.Itemloc = "杭州"; req.Sort = "tk_rate_des"; req.IsTmall = true; req.IsOverseas = false; //req.StartPrice = 10L; //req.EndPrice = 10L; //req.StartTkRate = 123L; //req.EndTkRate = 123L; //req.Platform = 1L; //req.PageNo = 123L; //req.PageSize = 20L; TbkItemGetResponse rsp = client.Execute(req); return(rsp); }
static void Main(string[] args) { string sessionkey = "6101f03c14614cea6de7b2c0611deb0b57f8d7d136bc85f327294445"; string appkey = "********"; string AppSecret = "************************************"; string url = "http://gw.api.taobao.com/router/rest"; ITopClient client = new DefaultTopClient(url, appkey, AppSecret, "JSON"); TbkItemGetRequest req = new TbkItemGetRequest(); req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick"; req.Q = "女装"; req.Cat = "16,18"; req.Itemloc = "杭州"; req.Sort = "tk_rate_des"; req.IsTmall = false; req.IsOverseas = false; req.Platform = 1L; req.PageNo = 123L; req.PageSize = 20L; TbkItemGetResponse rsp = client.Execute(req); Console.WriteLine(rsp.Body); Console.ReadKey(); }
/// <summary> /// taobao.tbk.item.get( 淘宝客商品查询 ) /// doc:https://open.taobao.com/api.htm?docId=24515&docType=2 /// </summary> public static List <Items> QueryItem(PageInfo page, string keyword) { var client = GetClient(); TbkItemGetRequest req = new TbkItemGetRequest(); req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick"; req.Q = keyword; //req.Cat = "16,18"; //req.Itemloc = "杭州"; req.Sort = "total_sale_des";//排序_des(降序),排序_asc(升序),销量(total_sales),淘客佣金比率(tk_rate), 累计推广量(tk_total_sales),总支出佣金(tk_total_commi) // req.IsTmall = false; //req.IsOverseas = false; //req.StartPrice = 10L; //req.EndPrice = 10L; //req.StartTkRate = 123L; //req.EndTkRate = 123L; // req.Platform = 1L; req.PageNo = page.PageIndex; req.PageSize = page.PageSize; TbkItemGetResponse rsp = client.Execute(req); var configMap = new MapperConfiguration( cfg => cfg.CreateMap <NTbkItem, Items>() .ForMember(dest => dest.Area, m => m.MapFrom(src => src.Provcity)) .ForMember(dest => dest.SellPrice, m => m.MapFrom(src => src.ZkFinalPrice)) .ForMember(dest => dest.CommissionRate, m => m.MapFrom(src => src.TkRate)) .ForMember(dest => dest.PicUrl, m => m.MapFrom(src => src.PictUrl)) .ForMember(dest => dest.ShopName, m => m.MapFrom(src => src.ShopTitle)) .ForMember(dest => dest.SmallImages, m => m.MapFrom(src => src.SmallImages.ToListString(','))) .ForMember(dest => dest.Price, m => m.MapFrom(src => src.ReservePrice)) ); var mapper = configMap.CreateMapper(); if (rsp.TotalResults == 0) { return(null); } List <Items> result = new List <Items>(rsp.Results.Count); foreach (var item in rsp.Results) { var dest = mapper.Map <NTbkItem, Items>(item); dest.LastTime = DateTime.Now; dest.TypeId = 2; dest.Tags = keyword; if (dest.Commission <= 0) { dest.Commission = dest.SellPrice * dest.CommissionRate / 100; } dest.FinalPrice = dest.SellPrice; dest.CateId = dest.Category; dest.OrdId = 1; dest.IsShow = 1; dest.AliId = "1"; dest.Status = 1; dest.ProductUrl += string.IsNullOrEmpty(dest.ProductUrl) ? "" : pid; result.Add(dest); Console.WriteLine(string.Format("Title:{0},Rate:{1},smallimages:{2}", dest.Title, dest.CommissionRate, dest.SmallImages)); } return(result); }