OpenAPI

OPENAPI

OpenSocial API

SNS

敏捷开发

迷糊 

使用论坛OpenAPI打造发帖工具

01-26

图片使用ikaca。rn CSDN论坛提供了一套API,我们通过这套API来实现一个简单的发帖工具。rn [img=http://www.ikaca.sh.cn/attachment/201001/26/3169_1264497155d8sR.jpg][/img]rn 关于API的使用方法,可以参见下面的文章:怎样利用CSDN论坛公开的API实现自己的论坛工具http://community.csdn.net/openapi/openapiexplain.htm。rn API是通过WebService提供的,下面以C#为例子,说明如何使用WebService。创建一个C#的工程,在“解决方案资源管理器”中的“引用”处,单击鼠标右键,选择“添加服务引用”,弹出如下的对话框,rn [img=http://www.ikaca.sh.cn/attachment/201001/26/3169_1264497169fA14.jpg][/img]rn 在“地址”中填入http://forum.csdn.net/OpenApi/forumapi.asmx,单击“前往”按钮,VS解析该地址中提供的服务,如图中所示,找到1个服务,我们可以修改命名空间为CSDNForumAPI。rn 点击确定按钮后便完成服务引用的添加。rn rn 首先,我们获得要发帖的论坛的ID,通过GetForums方法获得,该方法没有传入参数,返回一个论坛的列表,以Forum结构数组保存。rn [code=C#]CSDNForumAPI.ForumAPISoapClient ForumAPIService = new PostHelper.CSDNForumAPI.ForumAPISoapClient();rnForum[] Forums = ForumAPIService.GetForums();rnforeach (Forum f in Forums)rnrn Console.WriteLine(f.name);rn Console.WriteLine(f.forumId);rnrn[/code]rnrn 保存论坛的ID用于发帖时填充Post结构的forumId成员。rnrn 根据API说明,发帖方法如下:rn [code=C#]/// rn /// 发帖rn /// rn /// 用户身份证rn /// 帖子rn /// 错误信息rn /// 帖子链接rn /// 发帖是否成 功rn public bool Post(Identity identity, Post post, out Error error, out string topicUrl)rn[/code]rnrn 为了调用Post方法,我们需要Identity和Post对象,Identity保存了发帖账号和密码。Post则为帖子结构。rn [code=C#]Identity identity = new Identity();rn identity.username = username;rn identity.password = password;rnrn Post topic = new Post();rn topic.body = body;rn topic.editor = type;rn topic.expertUserName = expertName;rn topic.forumId = forumId;rn topic.isAskExpert = askExpert;rn topic.point = point;rn topic.subject = subject;rn topic.tag = "";rn topic.url = "";rnrn Error error = new Error();rn tryrn rn bool ret = ForumAPIService.Post(out error, out topicUrl, identity, topic);rn rn return ret;rn rn catch(System.Exception)rn rn //errorrn [/code]rn rn rn[align=right]jingzhongrong[/align]rnrn[img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/1.gif][/img]

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试