淘寶API開發(二)


本次使用的是淘寶沙箱數據(http://mini.tbsandbox.com/),淘寶提供了一些測試賬號(sandbox_c_1 密碼 taobao1234 http://www.tbsandbox.com/doc/)

1.Default.aspx

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Top.Api;
using Top.Api.Request;
using Top.Api.Response;
using Top.Api.Domain;

namespace Demo.SandBox
{
    public partial class Default : System.Web.UI.Page
    {
        //http://gw.api.taobao.com/router/rest  正式
        protected const string API_URL = "http://gw.api.tbsandbox.com/router/rest";//測試沙箱環境地址
        protected const string APP_KEY = "APP_KEY";//申請的APP_KEY
        protected const string APP_SECRET = "APP_SECRET";//申請的APP_SECRET

        protected void Page_Load(object sender, EventArgs e)
        {
            //SESSION_KEY是通過回調地址獲取的。(手動獲取地址http://api.taobao.com/apitools/sessionPage.htm)
            if (Session["SESSION_KEY"] != null)
            {
                ITopClient client = new DefaultTopClient(API_URL, APP_KEY, APP_SECRET);
                TradesSoldGetRequest req = new TradesSoldGetRequest();
                req.Fields = "seller_nick,buyer_nick,title,type,created,sid,tid,seller_rate,buyer_rate,status,payment,discount_fee,adjust_fee,post_fee,total_fee,pay_time,end_time,modified,consign_time,buyer_obtain_point_fee,point_fee,real_point_fee,received_payment,commission_fee,pic_path,num_iid,num_iid,num,price,cod_fee,cod_status,shipping_type,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,orders.title,orders.pic_path,orders.price,orders.num,orders.iid,orders.num_iid,orders.sku_id,orders.refund_status,orders.status,orders.oid,orders.total_fee,orders.payment,orders.discount_fee,orders.adjust_fee,orders.sku_properties_name,orders.item_meal_name,orders.buyer_rate,orders.seller_rate,orders.outer_iid,orders.outer_sku_id,orders.refund_id,orders.seller_type";
                DateTime dateTime = DateTime.Parse("2013-07-14 00:00:00");
                req.StartCreated = dateTime;
                DateTime dateTime1 = DateTime.Parse("2013-07-15 23:59:59");
                req.EndCreated = dateTime1;
                TradesSoldGetResponse rsp = client.Execute(req, Session["SESSION_KEY"].ToString());
                string errMsg = rsp.ErrMsg;
                foreach (var item in rsp.Trades)
                {
                    Response.Write(" 訂單編號:" + item.Tid + " 買家名稱:" + item.BuyerNick + " 交易狀態:" + GetOrderStatus(item.Status) + "<br/>");
                }
                Response.Write("合計:" + rsp.TotalResults.ToString());
            }
            else
            {
                //http://container.open.taobao.com/container?appkey= + APP_KEY //正式地址
                Response.Redirect("http://container.api.tbsandbox.com/container?appkey=" + APP_KEY);//授權獲取SESSION_KEY
            }
        }

        /// <summary>
        /// 獲取訂單狀態
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public string GetOrderStatus(string str)
        {
            string result = string.Empty;
            switch (str)
            {
                case "TRADE_NO_CREATE_PAY":
                    result = "沒有創建支付寶交易";
                    break;
                case "WAIT_BUYER_PAY":
                    result = "等待買家付款";
                    break;
                case "WAIT_SELLER_SEND_GOODS":
                    result = "買家已付款";
                    break;
                case "SELLER_CONSIGNED_PART":
                    result = "賣家部分發貨";
                    break;
                case "WAIT_BUYER_CONFIRM_GOODS":
                    result = "賣家已發貨";
                    break;
                case "TRADE_BUYER_SIGNED":
                    result = "買家已簽收";
                    break;
                case "TRADE_FINISHED":
                    result = "交易成功";
                    break;
                case "TRADE_CLOSED":
                    result = "交易關閉";
                    break;
                case "TRADE_CLOSED_BY_TAOBAO":
                    result = "交易被淘寶關閉";
                    break;
                default:
                    result = "";
                    break;
            }
            return result;
        }
    }
}

  

2.OAuth.aspx 通過回調地址獲取SessionKey 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Demo.SandBox
{
    public partial class OAuth : System.Web.UI.Page
    {
        /// <summary>
        /// 淘寶Top_session
        /// </summary>
        public string Top_session
        {
            get { return !string.IsNullOrEmpty(Request.QueryString["top_session"]) ? Request.QueryString["top_session"] : ""; }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Top_session))
            {
                Session["SESSION_KEY"] = Top_session;
                Response.Redirect("~/SandBox/Default.aspx");
            }
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM