让阳光指引生命的每一刻,乘着风,跟随我融化空气

美丽的地球

asp.net封装开心网分享api

代码
1 public class ShareApiHelper
2 {
3 /// <summary>
4 /// 获取开心分享的参数
5 /// </summary>
6 /// <param name="kxsApi"></param>
7 /// <returns></returns>
8   public static String GetKaiXinParams(KaiXinShareApi kxsApi)
9 {
10 String strResult = String.Empty;
11 StringBuilder sbParams = new StringBuilder();
12 String strSign = String.Empty;
13 SortedDictionary<String, String> dictParams = new SortedDictionary<String, String>();
14
15 dictParams.Add("appid", kxsApi.AppId);
16 dictParams.Add("v", kxsApi.Version);
17 dictParams.Add("beta", kxsApi.Beta);
18 dictParams.Add("type", kxsApi.Type);
19 dictParams.Add("time", System.TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)).Subtract(kxsApi.Time).TotalSeconds.ToString());
20 dictParams.Add("iid", kxsApi.Iid);
21 dictParams.Add("title", kxsApi.Title);
22 dictParams.Add("pic", kxsApi.ImageUrl);
23 dictParams.Add("price", kxsApi.Price);
24 dictParams.Add("link", kxsApi.LinkUrl);
25 dictParams.Add("description", kxsApi.Description);
26
27 foreach (KeyValuePair<String, String> item in dictParams)
28 {
29 String base64Key = Convert.ToBase64String(Encoding.Default.GetBytes(item.Key));
30 String base64Value = Convert.ToBase64String(Encoding.Default.GetBytes(item.Value));
31
32 String key = base64Key.Replace("+", "*").Replace("/", "-").Replace("=", "");
33 String value = base64Value.Replace("+", "*").Replace("/", "-").Replace("=", "");
34
35 sbParams.AppendFormat("{0}={1}_", key, value);
36 }
37
38 sbParams = sbParams.Remove(sbParams.Length - 1, 1);
39 strSign = UtilHelper.Md5Hash(sbParams.ToString() + "_" + kxsApi.Sectet).ToLower();
40 strResult = strSign + "_" + kxsApi.AppId + "_" + kxsApi.Beta + "_" + sbParams;
41
42 return strResult;
43 }
44 }
45
46 /// <summary>
47 /// 开心分享Api模型
48 /// </summary>
49   public class KaiXinShareApi
50 {
51 #region //字段
52 private String m_appid = String.Empty;
53 private String m_version = "1";
54 private String m_beta = "1";
55 private String m_type = "1";
56 private String m_sectet = String.Empty;
57 private DateTime m_time = DateTime.Now;
58
59 private String m_iid = String.Empty;
60 private String m_title = String.Empty;
61 private String m_pic = String.Empty;
62 private String m_price = String.Empty;
63 private String m_link = String.Empty;
64 private String m_wapLink = String.Empty;
65 private String m_texttype = String.Empty;
66 private String m_nick = String.Empty;
67 private String m_description = String.Empty;
68 #endregion
69
70 #region //属性
71 #region 基本属性
72 /// <summary>
73 /// 在开心网注册或者开心网分配的合作网站Id
74 /// </summary>
75   public String AppId
76 {
77 get{return m_appid;}
78 set{m_appid = value;}
79 }
80
81 /// <summary>
82 /// 开心网接口版本号,目前是1
83 /// </summary>
84 public String Version
85 {
86 get{return m_version;}
87 set{m_version = value;}
88 }
89
90 /// <summary>
91 /// 通过审核是0,没有通过审核是1
92 /// </summary>
93 public String Beta
94 {
95 get{return m_beta;}
96 set{m_beta = value;}
97 }
98
99 /// <summary>
100 /// 转发数据的排版样式,目前只有一种为1
101 /// </summary>
102 public String Type
103 {
104 get{return m_type;}
105 set { m_type = value; }
106 }
107
108 /// <summary>
109 /// MD5加密key
110 /// </summary>
111 public String Sectet
112 {
113 get{return m_sectet;}
114 set{m_sectet = value;}
115 }
116
117 /// <summary>
118 /// 生成签名的Unix时间戳(从1970年01月01日00时00分00秒起到现在的总秒数)
119 /// </summary>
120 public DateTime Time
121 {
122 get { return m_time; }
123 set { m_time = value; }
124 }
125 #endregion
126
127 #region 商品属性
128 /// <summary>
129 /// 内容在合作网站的Id,非必须
130 /// </summary>
131 public String Iid
132 {
133 get { return m_iid; }
134 set { m_iid = value; }
135 }
136
137 /// <summary>
138 /// 内容名称,必须
139 /// </summary>
140 public String Title
141 {
142 get { return m_title; }
143 set { m_title = value; }
144 }
145
146 /// <summary>
147 /// 内容图片地址,必须
148 /// </summary>
149 public String ImageUrl
150 {
151 get { return m_pic; }
152 set { m_pic = value; }
153 }
154
155 /// <summary>
156 /// 价格,非必须
157 /// </summary>
158 public String Price
159 {
160 get { return m_price; }
161 set { m_price = value; }
162 }
163
164 /// <summary>
165 /// 内容链接地址,www版必须,wap版非必须
166 /// </summary>
167 public String LinkUrl
168 {
169 get { return m_link; }
170 set { m_link = value; }
171 }
172
173 /// <summary>
174 /// 内容链接wap版链接地址,wap版必须,www版非必须
175 /// </summary>
176 public String WapLink
177 {
178 get { return m_wapLink; }
179 set { m_wapLink = value; }
180 }
181
182 /// <summary>
183 /// 文案编号,非必须
184 /// </summary>
185 public String TextType
186 {
187 get { return m_texttype; }
188 set { m_texttype = value; }
189 }
190
191 /// <summary>
192 /// 商家店铺名,一般用于C2C网站,非必须
193 /// </summary>
194 public String Nick
195 {
196 get { return m_nick; }
197 set { m_nick = value; }
198 }
199
200 /// <summary>
201 /// 内容描述,非必须
202 /// </summary>
203 public String Description
204 {
205 get { return m_description; }
206 set { m_description = value; }
207 }
208 #endregion
209
210 #endregion
211 }

 

 

代码
public class UtilHelper
{
public static String Md5Hash(String source)
{
byte[] bt = UTF8Encoding.UTF8.GetBytes(source);

MD5CryptoServiceProvider objMD5
= new MD5CryptoServiceProvider ();
byte[] output = objMD5.ComputeHash (bt);

return BitConverter.ToString (output).Replace("-","").ToLower();
}

}

 

posted on 2010-12-16 17:17 天真的好蓝啊 阅读(359) 评论(0) 编辑 收藏

My Links

Blog Stats

News