|
阿里巴巴开放平台 SDK 运行样例。
, H7 A4 \, P% `6 {. m- Z5 p2 g8 [! Z4 u
调用阿里巴巴开放平台的API你是不是获取不到访问口令,看一下我的例子吧,原因是后台已经更改,而网站的说明没有更新。8 b! ]5 v0 E9 ^9 z# S: ^
. ?! W" L8 {- w7 T: a% eIniFile ini = new IniFile();
) e7 }% M. x* \7 ~( h' T' {Dictionary sl = new Dictionary();
3 _/ h' ?# w5 Isl = ini.GetSectionValues("Setting");
/ \! b1 z" u J/ h1 H9 JstrAppKey = sl["appKey"].ToString();1 n, T* Y2 o0 t% v
strAccToken = sl["access_token"].ToString();( y6 ^" E8 {2 i6 t
strAppSecret = sl["appSecret"].ToString();
' w" O3 W' U& p$ S! H+ v+ fstring strTokeyTime = sl["datatime"].ToString();
2 @ h, B0 h* r$ w0 e/ c/ i( D% P# cstring strRefresh_token = sl["refresh_token"].ToString();: Z& D1 ?& O5 N( p5 \, S3 y
/ O# L- U7 t% z% d4 f2 S& v
//比较令牌保存时间,如果比现在早10个小时以上就更新% S) Z5 X& u' l4 i
DateTime dt = Convert.ToDateTime(strTokeyTime);
# O7 m' c# q: U$ T9 d8 TTimeSpan ts = System.DateTime.Now.Subtract(dt);# s. H( e5 _. P3 Y q; _& F
if ((Int16.Parse(ts.Days.ToString()) >= 1) || (decimal.Parse(ts.Hours.ToString()) > 8))7 r' Y3 L2 V8 L( K3 G4 @" ?. L* l
{ ^& I; @$ ]# q
//超过有效期,重新获取Access_Token
2 ~2 c( v$ y8 [; v//利用Refresh_token获取access_token
' K" M- {; A$ S+ n) MDictionary ls = new Dictionary();
; m5 N7 f- M2 Y9 c" l: Sstring urlStr = "https://gw.open.china.alibaba.com/openapi/http/1/system.oauth2/getToken/" + strAppKey;
% [! o0 _# n0 q( b0 Q# bDictionary dc = new Dictionary();" N. [/ E7 @- J; q! T% x
dc.Add("grant_type", "refresh_token");' B3 k4 x/ K1 D9 t$ M9 C4 v
dc.Add("need_refresh_token", "true");3 Z+ |2 W: N9 X: w1 H, ]
dc.Add("client_id", strAppKey);% X% x0 Y7 }9 k& N3 S2 y" Y
dc.Add("client_secret", strAppSecret);
6 f. p$ z- ^% k% x! Q' Odc.Add("redirect_uri", "http://localhost");
1 z8 W' y8 b0 v; M1 Rdc.Add("refresh_token", strRefresh_token);5 j. c9 D! S0 f: m" M0 l( h
WebUtils wu = new WebUtils();/ f2 E1 J8 E: h2 G8 @
string tbxToken = wu.DoPost(urlStr, dc);5 \( E) C, Q! ]3 M8 K3 N
Hashtable hs = (Hashtable)PluSoft.Utils.JSON.Decode(tbxToken);
' @; {7 ?3 Y* `* I/ I J//保存令牌% L2 H8 z1 R5 r2 l! G) v' d
ini.WriteValue("Setting", "access_token", hs["access_token"].ToString());9 e9 }/ g+ J& X6 ~, S5 Y
ini.WriteValue("Setting", "datatime", System.DateTime.Now.ToString());
2 Q# ]0 n l, _
; H/ o" C0 D9 o/ }9 qstrAccToken = hs["access_token"].ToString();! R, z9 E5 k9 c. @
}2 ?+ W9 ?2 s3 w8 o. V
获取授权的CODE和令牌,分两
- T% k% G8 E6 A* m7 ~( [0 b
) W9 O' t# f5 U; j' k资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见6 k3 Z" Q1 K- r6 T: L
# p, M; k! m* D7 X+ s$ Z; \- z; J k% D1 q6 V6 Q
) D& C5 A! N: R& ~
本资源由Java自学网收集整理【www.javazx.com】 |
|