使用OpenAPI发帖和自我回复并结贴的功能

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.[url]www.EditorType;[/url]
import net.csdn.[url]www.ForumAPISoapProxy;[/url]
import net.csdn.[url]www.Identity;[/url]
import net.csdn.[url]www.Post;[/url]
import net.csdn.[url]www.Reply;[/url]
import net.csdn.[url]www.holders.ErrorHolder;[/url]
import net.java2000.tools.DateTools;

/** *//**
*    
* @author 赵学庆 [url]www.java2000.net[/url]
*
*/
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.[url]www.ReplyPoint[/url][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");

    }
}

其中的 a3049f56-b572-48f5-89be-4797b70d71cd 是灌水乐园的ForumId

就这么简单,替换其中的用户名和密码为你自己的,然后选一个ForumId, 就可以发帖了。

你可能感兴趣的:(职场,休闲,openapi,回复)