CSDN的OpenAPI的簡單測試
系統
1863 0
這個接口已經出來一段時間了,下面的例子用Axis生成代理程序,然后調用其中的幾個接口
1 生成代理的過程就不多說了
,
大家自己弄,我使用的是 Eclispe 3.3 + Axis的。
生成的極其簡單的過程請看這里
http://www.java2000.net/viewthread.jsp?tid=4682
2 使用回復功能的測試
????ForumAPISoapProxy?proxy?
=
?
new
?ForumAPISoapProxy();
????Identity?id?
=
?
new
?Identity(
"
java2000_net
"
,?
"
XXXXXXXXXX
"
);
????Reply?reply?
=
?
new
?Reply();
????reply.setBody(
"
老紫竹測試回復
"
);
????reply.setForumId(
"
a3049f56-b572-48f5-89be-4797b70d71cd
"
);
????reply.setTopicUrl(
"
http://topic.csdn.net/u/20080429/06/0d07606a-c3d4-4ad8-84af-8722215ea58b.html
"
);
????reply.setEditor(EditorType.UBB);
????ErrorHolder?eHolder?
=
?
new
?ErrorHolder();
????BooleanHolder?bHolder?
=
?
new
?BooleanHolder();
????LongHolder?lHolder?
=
?
new
?LongHolder();
????IntHolder?iHolder?
=
?
new
?IntHolder();
????proxy.reply(id,?reply,?bHolder,?eHolder,?lHolder,?iHolder);
????System.out.println(bHolder.value);
????System.out.println(eHolder.value.getErrInfo());
????System.out.println(lHolder.value);
????System.out.println(iHolder.value);
3 自動發貼和結貼的代碼
??
/**?*/
/**
???*?發帖和結貼的測試
???*?
@param
?username?用戶名
???*?
@param
?password?密碼
???*?
@param
?message?發帖的信息
???*?
@param
?forumId?論壇的編號
???
*/
??
public
?
void
?post(String?username,?String?password,?String?message,?String?forumId)?
...
{
????
try
?
...
{
??????ForumAPISoapProxy?proxy?
=
?
new
?ForumAPISoapProxy();
??????Identity?id?
=
?
new
?Identity(username,?password);
??????Post?post?
=
?
new
?Post();
??????post.setBody(message);
??????post.setSubject(message);
??????post.setEditor(EditorType.UBB);
??????post.setForumId(forumId);
??????post.setPoint(
0
);
??????post.setIsAskExpert(
false
);
??????post.setTag(
""
);
??????ErrorHolder?eHolder?
=
?
new
?ErrorHolder();
??????BooleanHolder?bHolder?
=
?
new
?BooleanHolder();
??????StringHolder?sHolder?
=
?
new
?StringHolder();
??????proxy.post(id,?post,?bHolder,?eHolder,?sHolder);
??????System.out.println(sHolder.value);
??????
??????
//
?下面是把這個帖子結了
??????proxy.checkOutTopic(id,sHolder.value,forumId,
new
?net.csdn.www.ReplyPoint[
0
],bHolder,eHolder);
??????System.out.println(bHolder.value);
????}
?
catch
?(Exception?ex)?
...
{
??????ex.printStackTrace();
????}
??}
4?獲得用戶信息的代碼
??
/**?*/
/**
???*?得到用戶的信息
???*?
???*?
@param
?username?認證的用戶名
???*?
@param
?password?認證的密碼
???*?
@param
?usernameGet?獲取信息的用戶名
???
*/
??
public
?
void
?GetUserInfo(String?username,?String?password,?String?usernameGet)?
...
{
????
try
?
...
{
??????ForumAPISoapProxy?proxy?
=
?
new
?ForumAPISoapProxy();
??????Identity?id?
=
?
new
?Identity(username,?password);
??????ErrorHolder?eHolder?
=
?
new
?ErrorHolder();
??????BooleanHolder?bHolder?
=
?
new
?BooleanHolder();
??????UserProfileHolder?uHolder?
=
?
new
?UserProfileHolder();
??????proxy.getUserProfile(id,?usernameGet,?bHolder,?uHolder,?eHolder);
??????
if
?(bHolder.value)?
...
{
????????UserProfile?u?
=
?uHolder.value;
????????System.out.println(u.getNickName());
????????System.out.println(u.getPoint());
????????System.out.println(u.getTechExpertPoint());
????????System.out.println(u.getNonTechExpertPoint());
????????TopForum[]?fs?
=
?u.getTopForums();
????????
for
?(TopForum?f?:?fs)?
...
{
??????????System.out.print(f.getForumId());
??????????System.out.print(
"
"
?
+
?f.getExpertPoint());
??????????System.out.print(
"
"
?
+
?f.getRank());
??????????System.out.println();
????????}
??????}
????}
?
catch
?(Exception?ex)?
...
{
??????ex.printStackTrace();
????}
??}
?
以上只是CSDN openAPI的簡單使用步驟。其中的 GetUserInfo 部分已經應用于我的 【CSDN之路】的功能,用來記錄用戶在CSDN的積分歷史。具體的請參考我的另一個文章
http://blog.csdn.net/java2000_net/archive/2008/05/06/2398006.aspx
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
CSDN的OpenAPI的簡單測試
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元