java2000.net的专栏

愿为喜欢Java的朋友提供一点帮助

赵学庆ID:java2000_net
171428次访问,排名435好友59人,关注者0
Enjoy Java, Enjoy Everyday!
欢迎加入 java2000.net
[加为好友] [即时聊天] [发私信]
java2000_net的文章
原创 165 篇
翻译 0 篇
转载 16 篇
评论 657 篇
老紫竹的公告
最近评论
xiaoyu411502:你的经验告知我,这个还没有走上工作岗位的小学生,以后的路该怎么走了!
xiaoyu411502:你的经验告知我,这个还没有走上工作岗位的小学生,以后的路该怎么走了!
palm_civet:真全啊
ASP_lover:


推荐给Web程序员,

学习网络赚钱 [ www.888RMB.com.cn ] 为中国赚钱网站,

提供赚钱教程、赚钱经验、赚钱 秘籍、赚钱项目、赚钱产品, 为想赚钱的人群提供一个赚钱的网络平台




wawawa2222:由技术到管理也许是大部分程序员的职业规划!
文章分类
收藏
    相册
    公告
    技术文章
    其它
    新春
    友情链接
    JAVA世纪网
    关文柏的专栏
    陈绍英-性能测试实战
    陈跃峰老师的博客
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 CSDN的OpenAPI的简单测试收藏

    新一篇: 2008年5月19日14:28,Java非技术版祝福分的汇总 | 旧一篇: 一个能够记录你在CSDN得分历史的功能

    这个接口已经出来一段时间了,下面的例子用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







    发表于 @ 2008年05月09日 15:45:00|评论(loading...)|收藏

    新一篇: 2008年5月19日14:28,Java非技术版祝福分的汇总 | 旧一篇: 一个能够记录你在CSDN得分历史的功能

    评论

    #wbchn 发表于2008-05-13 09:36:41  IP: 123.127.10.*
    收藏起来
    #wbchn 发表于2008-05-13 09:37:40  IP: 123.127.10.*
    这个功能要是被广告发布者利用起来,可是相当的危险哦
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 老紫竹