淘宝开发实例asp.net使用Top4Net.dll
2010-08-01 10:21
211 查看
aspx:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
获得淘宝授权: <asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="LinkButtonhttp://open.taobao.com/isv/authorize.php?appkey=test">LinkButton</asp:LinkButton>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Taobao.Top.Api;
using Taobao.Top.Api.Domain;
using Taobao.Top.Api.Request;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Net;
using System.IO;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string sessionKey = getSessionKey(TextBox1.Text);
if (sessionKey.StartsWith("Error"))
{
Response.Write("<script>alert('获取SessionKey失败,请更换您的授权码')</script>");
return;
}
DataTable table = new DataTable();
DataColumn c1 = new DataColumn("商品ID", typeof(string));
table.Columns.Add(c1);
DataColumn c2 = new DataColumn("商品URL", typeof(string));
table.Columns.Add(c2);
DataColumn c3 = new DataColumn("卖家昵称", typeof(string));
table.Columns.Add(c3);
DataColumn c4 = new DataColumn("商品标题", typeof(string));
table.Columns.Add(c4);
DataColumn c5 = new DataColumn("商品类型", typeof(string));
table.Columns.Add(c5);
DataColumn c6 = new DataColumn("价格", typeof(string));
table.Columns.Add(c6);
DataColumn c7 = new DataColumn("数量", typeof(string));
table.Columns.Add(c7);
TopXmlRestClient topClient = new TopXmlRestClient("http://gw.api.tbsandbox.com/router/rest", "test", "test");
//TradesSoldGetRequest req = new TradesSoldGetRequest();
ItemsAllGetRequest req = new ItemsAllGetRequest();
req.Fields = "tid,seller_nick,buyer_nick,status,orders.title,orders.price,orders.num";
req.PageSize = 18;
PageList<Item> rsp = topClient.ItemsAllGet(req, sessionKey);
//ResponseList<Trade> rsp = topClient.GetSoldTrades(req, sessionKey);
/*
if (rsp.Content == null || rsp.Content.Count < 1)
{
Response.Write("<script>alert('此会员没有订单,请更换其他会员帐号获取授权码重试')</script>");
return;
}*/
List<Item > trades = rsp.Content ;
foreach (Item trade in trades)
{
DataRow r1 = table.NewRow();
r1["商品ID"] = trade.Iid ;
r1["商品URL"] = trade.DetailUrl ;
r1["卖家昵称"] = trade.Nick;
r1["商品标题"] = trade.Title ;
r1["商品类型"] = trade.Type ;
r1["价格"] = trade.Price ;
r1["数量"] = trade.Num ;
//r1["买家昵称"] = trade.BuyerNick;
//r1["订单编号"] = trade.Tid;
//r1["订单状态"] = trade.Status;
table.Rows.Add(r1);
GridView1.DataSource = table;
GridView1.DataBind();
}
}
public string getSessionKey(string auth_code)
{
try
{
// Create a request for the URL.
WebRequest request = WebRequest.Create("http://container.api.tbsandbox.com/container?authcode=" + auth_code);
// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode != HttpStatusCode.OK) return "Error";
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
string[] sArray = responseFromServer.Split('&');
foreach (string i in sArray)
{
if (i.ToString().StartsWith("top_session")) return i.ToString().Substring(i.ToString().IndexOf("=") + 1);
}
// Display the content.
// Console.WriteLine (responseFromServer);
// Cleanup the streams and the response.
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
catch (WebException e)
{
return "Error:" + e.Status;
}
catch (Exception e)
{
return "Error:" + e.Message;
}
}
}
}
当然系统中必须引入dll:Newtonsoft.Json.dll;Top4Net.dll
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
获得淘宝授权: <asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="LinkButtonhttp://open.taobao.com/isv/authorize.php?appkey=test">LinkButton</asp:LinkButton>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Taobao.Top.Api;
using Taobao.Top.Api.Domain;
using Taobao.Top.Api.Request;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Net;
using System.IO;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string sessionKey = getSessionKey(TextBox1.Text);
if (sessionKey.StartsWith("Error"))
{
Response.Write("<script>alert('获取SessionKey失败,请更换您的授权码')</script>");
return;
}
DataTable table = new DataTable();
DataColumn c1 = new DataColumn("商品ID", typeof(string));
table.Columns.Add(c1);
DataColumn c2 = new DataColumn("商品URL", typeof(string));
table.Columns.Add(c2);
DataColumn c3 = new DataColumn("卖家昵称", typeof(string));
table.Columns.Add(c3);
DataColumn c4 = new DataColumn("商品标题", typeof(string));
table.Columns.Add(c4);
DataColumn c5 = new DataColumn("商品类型", typeof(string));
table.Columns.Add(c5);
DataColumn c6 = new DataColumn("价格", typeof(string));
table.Columns.Add(c6);
DataColumn c7 = new DataColumn("数量", typeof(string));
table.Columns.Add(c7);
TopXmlRestClient topClient = new TopXmlRestClient("http://gw.api.tbsandbox.com/router/rest", "test", "test");
//TradesSoldGetRequest req = new TradesSoldGetRequest();
ItemsAllGetRequest req = new ItemsAllGetRequest();
req.Fields = "tid,seller_nick,buyer_nick,status,orders.title,orders.price,orders.num";
req.PageSize = 18;
PageList<Item> rsp = topClient.ItemsAllGet(req, sessionKey);
//ResponseList<Trade> rsp = topClient.GetSoldTrades(req, sessionKey);
/*
if (rsp.Content == null || rsp.Content.Count < 1)
{
Response.Write("<script>alert('此会员没有订单,请更换其他会员帐号获取授权码重试')</script>");
return;
}*/
List<Item > trades = rsp.Content ;
foreach (Item trade in trades)
{
DataRow r1 = table.NewRow();
r1["商品ID"] = trade.Iid ;
r1["商品URL"] = trade.DetailUrl ;
r1["卖家昵称"] = trade.Nick;
r1["商品标题"] = trade.Title ;
r1["商品类型"] = trade.Type ;
r1["价格"] = trade.Price ;
r1["数量"] = trade.Num ;
//r1["买家昵称"] = trade.BuyerNick;
//r1["订单编号"] = trade.Tid;
//r1["订单状态"] = trade.Status;
table.Rows.Add(r1);
GridView1.DataSource = table;
GridView1.DataBind();
}
}
public string getSessionKey(string auth_code)
{
try
{
// Create a request for the URL.
WebRequest request = WebRequest.Create("http://container.api.tbsandbox.com/container?authcode=" + auth_code);
// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode != HttpStatusCode.OK) return "Error";
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
string[] sArray = responseFromServer.Split('&');
foreach (string i in sArray)
{
if (i.ToString().StartsWith("top_session")) return i.ToString().Substring(i.ToString().IndexOf("=") + 1);
}
// Display the content.
// Console.WriteLine (responseFromServer);
// Cleanup the streams and the response.
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
catch (WebException e)
{
return "Error:" + e.Status;
}
catch (Exception e)
{
return "Error:" + e.Message;
}
}
}
}
当然系统中必须引入dll:Newtonsoft.Json.dll;Top4Net.dll
相关文章推荐
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- 使用ASP.Net 3.5 的Ajax与Web服务开发实例
- 使用ASP.Net 3.5 的Ajax与Web服务开发实例
- [Asp.net 开发系列之SignalR篇]专题三:使用SignalR实现聊天室的功能
- [原创]使用ASP.net的Form安全模刑开发的一个工程.
- 菜鸟入门【ASP.NET Core】5:命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options
- 使用ASP.NET MVC、Rabbit WeixinSDK和Azure快速开发部署微信后台
- 【译】使用自定义ViewHelper来简化Asp.net MVC view的开发------part2
- 在 ASP.NET 开发中使用非 .Net Web 服务
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建输出验证码图片的控制器
- asp.net中图形图像开发--关于使用图形图表的使用 VS2005和VS2008 + asp.net
- ASP.NET使用Coolite.Ext.Web.dll,显示ext 未定义 的解决方法
- asp.net分页控件使用详解【附实例下载】
- asp.net使用Repeater控件中的全选进行批量操作实例
- [水晶报表小技巧-开发-3]ASP.Net中使用水晶报表10的打印功能
- (转载)使用asp.net开发切忌!
- 《ASP.NET网站开发》系列笔记(2)——使用ADO
- 《ASP.NET办公自动化系统开发实例导航》笔记一
- asp.net session的使用与过期实例代码
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之数据篇