免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2291 | 回复: 0
打印 上一主题 下一主题

使用OpenAPI发帖和自我回复并结贴的功能 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-30 12:53 |只看该作者 |倒序浏览
1 根据公开的openAPI的地址,使用Axis生成代理程序
具体的可以参考另一个文章 http://blog.csdn.net/java2000_net/archive/2008/05/22/2468177.aspx
OpenAPI的公开帖子请看这里: http://community.csdn.net/openapi/openapiexplain.htm

2 下面的代码

package net.java2000.csdn.auto;

import java.io.File;
import java.util.Date;
import javax.xml.rpc.holders.BooleanHolder;
import javax.xml.rpc.holders.IntHolder;
import javax.xml.rpc.holders.LongHolder;
import javax.xml.rpc.holders.StringHolder;
import net.csdn.www.EditorType;
import net.csdn.www.ForumAPISoapProxy;
import net.csdn.www.Identity;
import net.csdn.www.Post;
import net.csdn.www.Reply;
import net.csdn.www.holders.ErrorHolder;
import net.java2000.tools.DateTools;

/** *//**
*
* @author 赵学庆 www.java2000.net
*
*/
public class AutoPost ...{
  /** *//**
   * 发帖和结贴的测试
   *
   * @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);
      // 自己回复
      Reply reply = new Reply();
      reply.setBody(message);
      reply.setForumId(forumId);
      reply.setTopicUrl(sHolder.value);
      reply.setEditor(EditorType.UBB);
      LongHolder lHolder = new LongHolder();
      IntHolder iHolder = new IntHolder();
      proxy.reply(id, reply, bHolder, eHolder, lHolder, iHolder);
      // 下面是把这个帖子结了
      proxy.checkOutTopic(id, sHolder.value, forumId, new net.csdn.www.ReplyPoint[0], bHolder, eHolder);
      System.out.println(bHolder.value);
    } catch (Exception ex) ...{
      ex.printStackTrace();
    }
  }

  public static void main(String[] args) throws Exception ...{
    AutoPost o = new AutoPost();
    o.post("username", "password", 测试发帖,"回复和结贴", "a3049f56-b572-48f5-89be-4797b70d71cd");

  }
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP