DZNT REST API doc

目录

auth.createToken (3.0版本开始支持)
为客户端程序获取Token.

auth.getSession 
通过Callback链接里的auth_token参数返回对应当前用户的Session Key.

auth.register
注册用户.

auth.encodePassword
获得加密密码,原始密码或者MD5后的密码再次加密用于身份验证.

forums.create 
创建版块.

forums.get 
获取版块信息.

forums.getIndexList (3.0版本开始支持)
获取版块列表.

messages.get (3.0版本开始支持)
获取消息列表.

messages.send(3.0版本开始支持)
站内短消息发送.

notifications.get 
返回当前登录用户的消息状况.

notifications.send
对一组用户发送通知.

notifications.sendEmail
对指定用户发送Email.

users.getInfo 
返回一组用户的资料信息,会根据当前登录用户显示内容有所限制.

users.getInfoByEmail 
返回指定Email用户的资料信息,会根据当前登录用户显示内容有所限制.

users.setInfo 
设置指定用户信息.

users.getID 
根据用户名获得user ID (uid).

users.getLoggedInUser 
获得当前登录的user ID (uid).

users.setExtCredits (3.0版本做了修改,除客户端外不需要验证session_key,并增加了批量操作)
设置用户指定扩展积分加减.

users.changePassword (3.0版本开始支持)
修改用户密码.

topics.create 
发表主题.

topics.get (3.0版本开始支持)
获取指定主题内容.

topics.reply 
发表回复.

topics.getRecentReplies 
获取最新回复.

topics.getList (3.0版本开始支持)
获取指定版块主题列表.

topics.getAttentionList (3.0版本开始支持)
获取指定版块需要管理人员关注的主题列表.

topics.delete (3.0版本开始支持)
删除指定主题.

topics.edit (3.0版本开始支持)
编辑指定主题.

topics.deleteReplies (3.0版本开始支持)
批量删除回复.

-------------------------------------------------------------------------------------------------------------------------

[方法] Auth.createToken

描述


为客户端程序创建令牌,此方法对web程序无效。(3.0版本开始支持) 

通用参数 请参考 通用参数说明


必选项 名称 类型 描述
必选   api_key     string     
必选   sig     string     
可选   format     string     所需的返回格式,XML (default) 或 JSON ,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


XML返回示例


  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <auth_createToken_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">5f34e11bfb97c762e439e6a5</auth_createToken_response>
复制代码

JSON返回示例


  1. "5f34e11bfb97c762e439e6a5"
复制代码

回送


如果用户已经成功登入,将返回有效Token值,否则返回空字符串。

错误代码


代码 描述
1   未知错误,请重新提交  
2   服务目前不可使用  
4   整合程序已达到允许的最大同时请求数  
5   请求来自一个未被当前整合程序允许的远程地址  
100   指定的参数不存在或不是有效参数,例如:没有把login.aspx返回的auth_token参数传入  
101   所提交的api_key未关联到任何设定程序  
104   签名(sig)参数不正确  


注释


这个方法不需要session_key 和 call_id(即使传递了call_id也不会有任何问题),session key可以存储在客户程序当前的会话中,uid可以被长期存储。

[方法] Auth.getSession

 描述


返回一个对应auth_token(通过callback_url得到)的sessionkey,需要在用户登录后立刻进行调用

通用参数 请参考 通用参数说明


必选项 名称 类型 描述
必选   api_key     string     
必选   sig     string     
可选   format   string   所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    


  方法参数

必选项 名称 类型 描述
必选   auth_token     string     token由login.aspx完成身份验证后返回  


  XML返回示例


  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <auth_getSession_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
  3. <session_key>5f34e11bfb97c762e439e6a5-8055</session_key> 
  4. <uid>8055</uid> 
  5. <expires>1173309298</expires> 
  6. </auth_getSession_response>
复制代码


  JSON返回示例


  1. {"session_key":"5f34e11bfb97c762e439e6a5-8055","uid":"8055","expires":1173309298}
复制代码

  回送


如果用户已经成功登入,将为每个字段返回有效的值。
expires元素表示返回会话的过期时间。0表示无限期。

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
100   指定的参数不存在或不是有效参数,例如:没有把login.aspx返回的auth_token参数传入    
101   所提交的api_key未关联到任何设定程序    
104   签名(sig)参数不正确    


  注释


这个方法不需要session_key 和 call_id(即使传递了call_id也不会有任何问题),session key可以存储在客户程序当前的会话中,uid可以被长期存储。

[方法] Auth.register

描述 


创建一个新用户

通用参数 (请参考 通用参数说明


必选项 名称 类型 描述
必选   api_key     string     
必选   call_id     float     
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


方法参数

必选项 名称 类型 描述
必选   user_name   string     用户名
必选   password   string     密码
必选    email   string     E-mail地址  
可选   password_format   string   密码格式,空字符串或者"md5"。默认为空字符串,表示密码为原始密码,程序会自动md5加密


XML返回示例


 

<?xml version="1.0" encoding="UTF-8"?>
<auth_register_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">235</auth_register_response>


回送 


注册成功后返回用户id,可以使用users.setInfo方法继续补充资料

错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    
109   当前不允许注册或不满足注册条件    
111   Email已存在或非法    


注释


此方法便于论坛整合到其他系统

[方法] Auth.encodePassword

  描述


返回论坛用户cookie的密码密文,主要用于应用程序创建论坛cookie时设置password值。

  通用参数 请参考 通用参数说明


必选项 名称 类型 描述
必选   api_key     string     
必选   call_id     float     
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string       


  方法参数

必选项 名称 类型 描述
必选 password   string     密码
可选 password_format   string     密码格式,空字符串或者"md5"。默认为空字符串,表示密码为原始密码,程序会自动md5加密  


  XML返回示例


 

<?xml version="1.0" encoding="UTF-8"?>
<auth_encodePassword_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">FN%2f5083vx8aB8Q6lhV4fuyIceMNo%2f34pKibe8%2bxeK3zhDWHLzZo%2f%2bA%3d%3d</auth_encodePassword_response>


  JSON返回示例


"FN%2f5083vx8aB8Q6lhV4fuyIceMNo%2f34pKibe8%2bxeK3zhDWHLzZo%2f%2bA%3d%3d"


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
103   当前会话所提交的call_id 没有大于前一次的call_id    
104   签名(sig)参数不正确  

 

[方法] Forums.create

   描述


创建一个新版块

  通用参数 请参考 通用参数说明


必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    
可选   session_key   string 若应用程序是终端应用程序,则必须提供该参数


  方法参数

必选项 名称 类型 描述
必选 forum_info    string   版块信息,传递一个JSON格式的数组  


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?>
<forums_create_response xmlns="http://nt.discuz.net/api/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    
<fid>23</fid>    
<url>http://localhost/showforum-23.aspx</url>
</forums_create_response>


  回送 


版块ID和版块url,如果传入rewritename并且合法则会按照rewrite规则返回url

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    
121   版块RewriteName已存在或非法    


  注释


forum_info数组:
  forum_info数组中必须包含下列属性:

  •     parent_id(父版块的ID,若要创建分类,则该值为0)
  •     name(版块名称)


  forum_info数组中还可以包含下列属性:

  •    status (0或1,是否显示在列表中)
  •    template_id (模板id根据站点的具体情况而定)
  •    seo_keywords (用于的SEO的Meta Keywords)
  •    seo_description (用于SEO的Meta Description)
  •    rewrite_name (版块的个性化名称,例如明星版块)
  •    description (版块描述)
  •    icon (版块在列表显示方式中前面显示的图标)
  •    moderators (版主列表,用半角逗号分隔)
  •    rules (本版规则)
  •    allow_smilies (允许使用表情)
  •    allow_rss (允许使用RSS)
  •    allow_bbcode (允许使用论坛代码)
  •    allow_imgcode (允许[img]代码)
  •    allow_edit_rules (允许版主编辑论坛规则)
  •    allow_thumbnail (允许showforum页面输出缩略图)
  •    allow_tag (允许使用Tag)
  •    recycle_bin (0或1,是否开启回收站)
  •    mod_new_posts (回复需要审核)
  •    mod_new_topics(发主题需要审核,该参数将在Discuz!NT 3.1版以后支持,不包括3.1版)
  •    jammer (0或1,帖子中添加干扰码,防止恶意复制)
  •    disable_watermark (0或1,禁止附件自动水印)
  •    inherited_mod (0或1,继承上级论坛或分类的版主设定)
  •    auto_close (定期自动关闭主题,单位为天。0为不开启此功能


forum_info 示例如下:

{“parent_id”:1,”name”:”Discuz!NT API”,”description":”This is API discuss forum!~”}

[方法] Forums.get

  描述



获得指定版块信息

  通用参数 请参考 通用参数说明


必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    



  方法参数

必选项 名称 类型 描述
必选   fid   int   版块ID 


  XML返回示例


  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <forums_get_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
  3. <fid>23</fid> 
  4. <url>http://localhost/showforum-23.aspx</url> 
  5. <topics>356</topics> 
  6. <current_topics>354</current_topics> 
  7. <posts>23525</posts> 
  8. <today_posts>32</today_posts> 
  9. <last_post>2008-08-08 20:08</last_post> 
  10. <last_poster>admin</last_poster> 
  11. <last_poster_id>1</last_poster_id> 
  12. <last_tid>5321</last_tid> 
  13. <last_title>api发帖</last_title> 
  14. <description>本版描述</description> 
  15. <icon>http://nt.discuz.net/images/logo.gif</icon> 
  16. <moderators>戏水,like</moderators> 
  17. <rules>本版规则</rules> 
  18. <parent_id>1</parent_id> 
  19. <path_list><a href="showforum-66.aspx">测试版块</a><a href="showforum-134.aspx">Bryan</a></path_list> 
  20. <parent_id_list>66</parent_id_list> 
  21. <sub_forum_count>2</sub_forum_count> 
  22. <name>Bryan的版块</name> 
  23. <status>0</status>
  24. </forums_get_response>
复制代码


  回送


版块ID和版块url,topics表示当前版块主题数,current_topics表示当前版块不包括子版的主题数

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


利用此方法可以绑定产品与论坛,例如佳能450D的产品页面可以显示所对应的版块信息,还可以利用帖子调用功能显示各种帖子

 

[方法] Forums.getIndexList

  描述


获得论坛首页显示的版块列表(3.0版本开始支持

  通用参数 请参考: 通用参数说明


必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?>
<forums_getIndexList_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <fid>23</fid>
    <url>http://localhost/showforum-23.aspx</url>
    <topics>356</topics>
    <current_topics>354</current_topics>
    <posts>23525</posts>
    <today_posts>32</today_posts>
    <last_post>2008-08-08 20:08</last_post>
    <last_poster>admin</last_poster>
    <last_poster_id>1</last_poster_id>
    <last_tid>5321</last_tid>
    <last_title>api发帖</last_title>
    <description>本版描述</description>
    <icon>http://nt.discuz.net/images/logo.gif</icon>
    <moderators>戏水,like</moderators>
    <rules>本版规则</rules>
    <parent_id>1</parent_id>
    <path_list><a href="showforum-66.aspx">测试版块</a><a href="showforum-134.aspx">Bryan</a></path_list>      <parent_id_list>66</parent_id_list>
    <sub_forum_count>2</sub_forum_count>
    <name>Bryan的版块</name>
    <status>0</status>
</forums_getIndexList_response>


  回送


版块ID和版块url,topics表示当前版块主题数,current_topics表示当前版块不包括子版的主题数

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


利用此方法可以绑定产品与论坛,例如佳能450D的产品页面可以显示所对应的版块信息,还可以利用帖子调用功能显示各种帖子

 

[方法] Messages.get

  描述 


获得用户未读论坛短消息列表,支持分页(3.0版本开始支持此方法

  通用参数 请参考: 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    


  方法参数

必选项 名称 类型 描述
必选   uid   int   用户ID
必选   page_size   int   分页显示条目数
必选   page_index   int     当前分页页码


  XML返回示例

<?xml version="1.0" encoding="utf-8"?>
<MessageGetResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" list="true">
  <count>9</count>
  <pm>
    <message_id>83</message_id>
    <from>admin</from>
    <from_id>1</from_id>
    <subject>您发表的主题被执行管理操作</subject>
    <post_date_time>8/7/2009 2:23:18 PM</post_date_time>
    <message><![CDATA[这是由论坛系统自动发送的通知短消息。以下您所发表的主题被 管理员 admin 执行 复制主题 操作。主题: 11111111111111 发表时间: 2009-8-4 11:29:00所在论坛: 测试版块操作理由: 如果您对本管理操作有异议,请与我取得联系。]]></message>
  </pm>
  <pm>
    <message_id>82</message_id>
    <from>admin</from>
    <from_id>1</from_id>
    <subject>举报信息</subject>
    <post_date_time>8/7/2009 2:21:34 PM</post_date_time>
    <message><![CDATA[下面的链接地址被举报,<br /><a href='http://localhost:8080/showtopic-228.aspx#smiliyanchor#r_0' target='_blank'>http://localhost:8080/showtopic-228.aspx#smiliyanchor#r_0</a><br />请检查<br/>举报理由:yyyyyyyyyyyyyyyyyyyyyyyyyyyy]]></message>
  </pm>
</MessageGetResponse>


  JSON返回示例

{"count":9,"pms":[{"message_id":83,"from":"admin","from_id":1,"subject":"您发表的主题被执行管理操作","post_date_time":"8/7/2009 2:23:18 PM","message":"这是由论坛系统自动发送的通知短消息。\r\n以下您所发表的主题被 管理员 admin 执行 复制主题 操作。\r\n\r\n主题: 11111111111111 \r\n发表时间: 2009-8-4 11:29:00\r\n所在论坛: 测试版块\r\n操作理由: \r\n\r\n如果您对本管理操作有异议,请与我取得联系。"},{"message_id":82,"from":"admin","from_id":1,"subject":"举报信息","post_date_time":"8/7/2009 2:21:34 PM","message":"下面的链接地址被举报,<br /><a href='http://localhost:8080/showtopic-228.aspx#smiliyanchor#r_0' target='_blank'>http://localhost:8080/showtopic-228.aspx#smiliyanchor#r_0</a><br />请检查<br/>举报理由:yyyyyyyyyyyyyyyyyyyyyyyyyyyy"}]}


  回送


 

  • message_id: 短消息ID
  • from: 发件人
  • from_id: 发件人ID
  • subject: 标题
  • post_date_time: 发送时间(本地时间,非GMT时间)
  • message: 内容


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


该方法会取得短消息列表,按照时间倒序排列

[方法] Messages.send

 描述


向指定用户列表发送短消息,不存在的用户ID会被自动忽略。(3.0版本开始支持) 

  通用参数 请参考 通用参数说明


必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数 
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   to_ids   array   逗号分割的收件用户ID列表字符串,该列表长度限制为 <=10
必选   message   string     短消息内容,不可以使用html,允许[url]标签
必选   from_id   int   短消息发送人,若不填写则必须提供当前登录用户会话(session_key),以保证方法可以确定一个发件人


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?>
<messages_send_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></messages_send_response>


  回送


返回发送成功的用户id列表字符串,以逗号分隔

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
100   指定的参数不存在或不是有效参数    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确  [方法] Notifications.sendEmail

[方法] Notifications.get

 描述


返回当前登录用户的通知信息

  通用参数 请参考: 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
必选   call_id     float    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?>
<notifications_get_response xmlns="http://nt.discuz.net/api/"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  list="true">
    <messages>
      <unread>1</unread>
      <most_recent>1170644932</most_recent>
    </messages>
</notifications_get_response>


  回送


这个方法返回当前用户的短消息和通知数量,most_recent元素表示最新通知或短消息的唯一标识,如果在整合程序中需要提示用户是否有新短消息/通知的话,我们推荐使用下面的逻辑来判断是否提示用户有新通知/短消息。

if (unread > 0 && most_recent > old_most_recent) {   display_notification();}old_most_recent = most_recent;


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id 没有大于前一次的call_id    
104   签名(sig)参数不正确  

[方法] Notifications.send

描述


向指定用户列表发送通知,不存在的用户ID将自动忽略。

  通用参数 请参考: 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    


  方法参数

必选项 名称 类型 描述
必选   to_ids   array   逗号分割的收件用户ID列表字符串,该列表长度限制为 <=10
必选   notification   string     通知内容,可以使用html
可选   from_id   int   通知来源标识,表示通知来源


  查询示例

ds.NotificationsSend(notification,to_ids,0);


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?>
<notifications_send_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></notifications_send_response>


  回送


返回发送成功的用户id列表字符串,以逗号分隔

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
100   指定的参数不存在或不是有效参数    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确  


注释


关于通知来源标识:
        Discuz!NT不会使用户的通知列表中存在两条相同来源的通知信息,比如来自同一主题的回复通知,若在发送通知的过程中,发现用户通知列表中以存在相同来源的通知,会自动更新那条通知的发送时间,以保证用户看到的是某来源的最新的通知,而不会看到多条来自同一来源的新通知。
        因此若应用程序需要给论坛用户发送不同来源的通知(应用程序中可能也存在差异性的通知,而需要让论坛用户看到多条通知信息),则需要设置参数from_id为不同的值。如果应用程序不设置该值,则方法内部会自动根据应用程序的不同生成一个hash值作为来源标识,若如此,则每个应用程序只有一个来源,用户的通知当中只会存在至多一条来自该应用程序的通知。

[方法] Notifications.sendEmail

  描述


给指定用户列表发送E-mail邮件

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    
可选   session_key   string   若应用程序是终端应用程序,则必须提供该参数
必选   call_id   float  


  方法参数

必选项 名称 类型 描述
必选   recipients   array     逗号分割的收件用户ID列表字符串,该列表长度限制为 <=100
必选   subject   string     E-mail标题
必选   text   string     E-mail内容,支持html


  请求示例

ds.NotificationSendEmail(recipients,subject,body);


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><notifications_sendEmail_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">211031,1160</notifications_sendEmail_response>


  回送


返回一个逗号分隔的发送成功的接收人id列表字符串

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


 

  • 这个方法不需要 session_key

[方法] Users.getInfo

  描述


返回指定用户信息的数组,终端应用程序用户可能受到当前会话用户的限制,无法获得某些敏感字段的信息。

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   uids   array   逗号分割的用户ID列表字符串,该列表长度限制为<=100
必选   fields   array     逗号分割的用户信息字段列表字符串


  请求示例


调用示例User user = ds.GetUserInfo(ds.GetLoggedInUser().UId);


  XML返回示例


<?xml version="1.0" encoding="UTF-8"?><users_getInfo_response xmlns="http://nt.discuz.net/api/" list="true">    <user>      <uid>8055</uid>      <user_name>Bryan</user_name>      <nick_name>昵称</nick_name>    </user> </users_getInfo_response>


  回送


The user info elements returned are those friends visible to the Facebook Platform. If no visible users are found from the passed UIDs argument, the method returns an empty result element. Following is a list of arguments and the elements they return:

  • uid - 用户uid
  • user_name - 用户名
  • nick_name - 昵称
  • password - 用户密码
  • space_id - 个人空间ID,0为用户还未申请空间;负数是用户已经申请,等待管理员开通,绝对值为开通以后的真实Spaceid;正数是用户已经开通的Spaceid
  • secques - 用户安全提问码
  • gender - 性别
  • admin_id - 管理组ID
  • group_id - 用户组ID
  • group_expiry - 组过期时间
  • reg_ip - 注册IP
  • join_date - 注册时间
  • last_ip - 上次登录IP
  • last_visit - 上次访问时间
  • last_activity - 最后活动时间
  • last_post - 最后发贴时间
  • last_post_id - 最后发贴id
  • last_post_title - 最后发贴标题
  • post_count - 发贴数
  • digest_post_count - 精华贴数
  • online_time - 在线时间
  • page_view_count - 页面浏览量
  • credits - 积分数
  • ext_credits_1 - 扩展积分1
  • ext_credits_2 - 扩展积分2
  • ext_credits_3 - 扩展积分3
  • ext_credits_4 - 扩展积分4
  • ext_credits_5 - 扩展积分5
  • ext_credits_6 - 扩展积分6
  • ext_credits_7 - 扩展积分7
  • ext_credits_8 - 扩展积分8
  • email - 邮件地址
  • birthday - 生日
  • tpp - 每页主题
  • ppp - 每页贴数
  • template_id - 风格ID
  • pm_sound - 短消息铃声
  • show_email - 是否显示邮箱
  • invisible - 是否隐身
  • has_new_pm - 是否有新消息
  • new_pm_count - 新短消息数量
  • access_masks - 是否使用特殊权限
  • online_state - 在线状态, 1为在线, 0为不在线
  • web_site - 网站
  • icq - icq号码
  • qq - qq号码
  • yahoo - yahoo messenger帐号
  • msn - msn messenger帐号
  • skype - skype帐号
  • location - 来自
  • custom_status - 自定义头衔
  • avatar - 头像宽度
  • avatar_width - 头像宽度
  • avatar_height - 头像高度
  • medals - 勋章列表
  • about_me - 自我介绍
  • sign_html - 签名Html(自动转换得到)
  • real_name - 用户实名
  • id_card - 用户身份证件号
  • mobile - 用户移动电话
  • telephone - 用户固定电话


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确  

[方法] users.getInfoByEmail

  描述


返回一个指定用户信息的数组,终端应用程序用户可能受到当前会话用户的限制,无法获得某些敏感字段的信息。  

  通用参数 
请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   email   string     用户的E-mail
必选   fields   array   逗号分割的用户信息字段列表字符串


  请求示例

调用示例User user = ds.GetUserInfo(emailAddress);


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><users_getInfo_response xmlns="http://nt.discuz.net/api/" list="true">    <user>      <uid>8055</uid>      <user_name>Bryan</user_name>      <nick_name>昵称</nick_name>    </user> </users_getInfo_response>


  回送


The user info elements returned are those friends visible to the Facebook Platform. If no visible users are found from the passed UIDs argument, the method returns an empty result element. Following is a list of arguments and the elements they return:

  • uid - 用户uid
  • user_name - 用户名
  • nick_name - 昵称
  • password - 用户密码
  • space_id - 个人空间ID,0为用户还未申请空间;负数是用户已经申请,等待管理员开通,绝对值为开通以后的真实Spaceid;正数是用户已经开通的Spaceid
  • secques - 用户安全提问码
  • gender - 性别
  • admin_id - 管理组ID
  • group_id - 用户组ID
  • group_expiry - 组过期时间
  • reg_ip - 注册IP
  • join_date - 注册时间
  • last_ip - 上次登录IP
  • last_visit - 上次访问时间
  • last_activity - 最后活动时间
  • last_post - 最后发贴时间
  • last_post_id - 最后发贴id
  • last_post_title - 最后发贴标题
  • post_count - 发贴数
  • digest_post_count - 精华贴数
  • online_time - 在线时间
  • page_view_count - 页面浏览量
  • credits - 积分数
  • ext_credits_1 - 扩展积分1
  • ext_credits_2 - 扩展积分2
  • ext_credits_3 - 扩展积分3
  • ext_credits_4 - 扩展积分4
  • ext_credits_5 - 扩展积分5
  • ext_credits_6 - 扩展积分6
  • ext_credits_7 - 扩展积分7
  • ext_credits_8 - 扩展积分8
  • email - 邮件地址
  • birthday - 生日
  • tpp - 每页主题
  • ppp - 每页贴数
  • template_id - 风格ID
  • pm_sound - 短消息铃声
  • show_email - 是否显示邮箱
  • invisible - 是否隐身
  • has_new_pm - 是否有新消息
  • new_pm_count - 新短消息数量
  • access_masks - 是否使用特殊权限
  • online_state - 在线状态, 1为在线, 0为不在线
  • web_site - 网站
  • icq - icq号码
  • qq - qq号码
  • yahoo - yahoo messenger帐号
  • msn - msn messenger帐号
  • skype - skype帐号
  • location - 来自
  • custom_status - 自定义头衔
  • avatar - 头像宽度
  • avatar_width - 头像宽度
  • avatar_height - 头像高度
  • medals - 勋章列表
  • about_me - 自我介绍
  • sign_html - 签名Html(自动转换得到)
  • real_name - 用户实名
  • id_card - 用户身份证件号
  • mobile - 用户移动电话
  • telephone - 用户固定电话


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确  

[方法] users.setInfo

描述


设置用户信息,终端程序需要当前会话用户是管理员身份才可以修改其他用户的信息,否则只允许修改自己的信息,web应用程序不受此约束

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   uid   int   指定用户ID
必选   user_info   array   用户信息,此处传递的是一个JSON数组


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><users_setInfo_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</users_setInfo_response>


  回送


成功返回1

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


user_info数组:
  TIPS:所有参数均为字符串,即0需要用"0"来表示。用户积分是根据扩展积分换算公式自动计算的,故不需要设置

  • nick_name (昵称)
  • password (密码,必须为md5加密)
  • space_id (个人空间id,"0"为用户还未申请空间;负数是用户已经申请,等待管理员开通,绝对值为开通以后的真实Spaceid;正数是用户已经开通的Spaceid)
  • gender (性别,男为1、女为2、保密为0)
  • ext_credits_1 (扩展积分1,float型)
  • ext_credits_2 (扩展积分2,float型)
  • ext_credits_3 (扩展积分3,float型)
  • ext_credits_4 (扩展积分4,float型)
  • ext_credits_5 (扩展积分5,float型)
  • ext_credits_6 (扩展积分6,float型)
  • ext_credits_7 (扩展积分7,float型)
  • ext_credits_8 (扩展积分8,float型)
  • email
  • birthday
  • web_site (用户个人网址)
  • icq
  • qq
  • yahoo
  • msn
  • skype
  • location (地理位置)
  • about_me (个人介绍)
  • real_name (真实姓名)
  • id_card (身份证号)
  • mobile (手机号)
  • telephone (电话号码)


user_info 数组示例如下:

{“nick_name”:”爵士蔡”,”gender”:”1”,”web_site”:”http://nt.discuz.net”}

[方法] users.getID

  描述


根据用户名来获得用户ID。

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string     
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
必选   call_id     float    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   user_name    string     用户名  


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><users_getID_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">102456</users_getID_response>


  JSON返回示例

"102456"


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id 没有大于前一次的call_id    
104   签名(sig)参数不正确  

[方法] users.getLoggedInUser

  描述


获得当前会话对应的用户ID

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string     
必选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
必选   call_id     float    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><users_getLoggedInUser_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">102456</users_getLoggedInUser_response>


  JSON返回示例

"102456"


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id 没有大于前一次的call_id    
104   签名(sig)参数不正确  

[方法] users.setExtCredits

 描述


操作指定用户列表的积分增减,每个用户ID 15秒内只能调用一次该接口,否则无法更新成功(3.0版本做了修改,除客户端外不需要验证session_key,并增加了批量操作) 

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    
必选   call_id   float  


  方法参数

必选项 名称 类型 描述
必选   uids   array   逗号分割的用户ID列表字符串,该列表长度限制为<=100
必选   additional_values   array   每个扩展积分的增加值,必须为8个扩展积分增加值的数组字符串,例如:0,1,0.5,-1,0,0,0,0


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><users_setExtCredits_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</users_setExtCredits_response>


  JSON返回示例

"true"


  回送


xml返回0或1,json返回true或false

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


 

  • 这个方法只能更新当前登录用户的积分增量

[方法] users.changePassword

  描述


修改指定用户密码。(3.0版本开始支持) 

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     
可选   session_key   string   若应用程序是终端应用程序,则必须提供该参数


  方法参数

必选项 名称 类型 描述
必选   uid   int   用户ID  
必选   original_password     string     原始密码  
必选   new_password     string     新密码  
必选   confirm_new_password     string   新密码确认  
可选   password_format     string     密码格式,空字符串或者"md5"。默认为空字符串,即密码为原始密码,程序会自动md5加密原始密码  


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><users_changePassword_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</users_changePassword_response>


  JSON返回示例

"true"


  回送


xml返回0或1,json返回true或false

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
103   当前会话所提交的call_id 没有大于前一次的call_id    
104   签名(sig)参数不正确  

[方法] topics.create

  描述


创建一个新主题

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   topic_info   array   主题信息,传递一个JSON格式的数组
可选   validate   int   是否校验数据合法性和用户发帖权限,若该值=1,则session_key必选


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><topics_create_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    <topic_id>234234</topic_id>    <url>http://localhost/showtopic-234234.aspx</url>    <need_audit>true</need_audit></topics_create_response>


  回送


need_audit表示此主题是否需要审核,如果为true则说明发表成功但是需要审核通过后才能显示

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    
105   垃圾信息    
137   标题太长或含有非法字符    
138   内容长度不符合系统要求    


  注释


topic_info数组:
  topic_info中必须包含下列参数:

  • title(主题标题)
  • fid(发帖的指定版块ID)
  • message(主题内容)


  topic_info中可以选择传递下列参数::

  • uid(发主题作者uid,若不包含该值,则认为是当前用户回帖,访问接口时未提供session_key则认为是游客发帖)
  • icon_id (图标id 1-15可选,0表示不显示图标)
  • tags(帖子标签信息,为逗号分割的列表,如:标签,标签1,API)
  • type_id (主题分类id,0表示不设置主题分类)

topic_info 数组示例如下:

{"uid":123,"title":"api可以发帖啦","fid":2,"message":"这是帖子内容,可以很长很长","icon_id":3,"tags":"标签1,标签2,API","type_id":4}

[方法] topics.get

  描述


获得指定主题信息(3.0版本开始支持) 

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数


  方法参数

必选项 名称 类型 描述
必选   tid   int   主题ID  
必选   page_size     int   分页显示条目数
必选   page_index     int   当前分页页码


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?>
  <?xml version="1.0" encoding="utf-8"?>
   <topics_get_response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" list="false" xmlns="http://nt.discuz.net/api/">
    <topic_id>73</topic_id>
    <url>http://localhost:2434/showtopic-73.aspx</url>   
    <title>测试贴</title>  
    <fid>6</fid>  
    <icon_id>0</icon_id>  
    <tags />  
    <author>admin</author>  
    <author_id>1</author_id>  
    <reply_count>6</reply_count>  
    <view_count>18</view_count>  
    <last_post_time>2009-4-21 14:44:00</last_post_time>  
    <last_poster_id>1</last_poster_id>  
    <type_id>0</type_id>  
    <post>    
     <pid>104</pid>    
     <layer>0</layer>    
     <poster_id>1</poster_id>    
     <poster_name>admin</poster_name>    
     <title />    
     <message>我相当看好API</message>   
     <post_date_time>2009-4-21 14:16:00</post_date_time>
     <invisible>0</invisible>
     <rate>0</rate>
     <rate_times>0</rate_times>
     <use_signature>0</use_signature>
     <poster_email />    
     <poster_show_email>0</poster_show_email>
     <poster_avator>avatars/common/0.gif</poster_avator>
     <poster_avator_width>0</poster_avator_width>
     <poster_avator_height>0</poster_avator_height>
     <poster_signature><a href="http://g.cn" target="_blank">Google</a></poster_signature>
     <poster_location />
     <ad_index>0</ad_index>
    </post>
    <attachment>
    <aid>17</aid>
    <uid>1</uid>
    <tid>73</tid>
    <pid>104</pid>
    <post_date_time>2009-4-21 14:16:27</post_date_time>
    <read_perm>0</read_perm>
    <file_name>2009/04/21/6/2162489015685.jpg</file_name>
    <description>jpg</description>
    <file_type>image/pjpeg</file_type>
    <file_size>57910</file_size>
    <original_file_name>5423178376285060518.jpg</original_file_name>
    <download_count>16</download_count>
    <price>0</price>
    <download_perm>1</download_perm>
    <is_image>1</is_image>
    <allow_read>1</allow_read>
    <preview />
    <is_bought>0</is_bought>
    <inserted>0</inserted>
    </attachment>
</topics_get_response>


  回送


主题信息

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


利用此方法可以绑定产品与论坛,例如佳能450D的产品页面可以显示所对应的版块信息,还可以利用帖子调用功能显示各种帖子

[方法] topics.reply

  描述


回复一个主题

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   reply_info     array   回复信息,传递一个JSON格式的数组
可选   validate   int   是否校验数据合法性和用户发帖权限,若该值=1,则session_key必选


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?>
  <topics_reply_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <post_id>12312312</post_id>
    <url>http://localhost/showtopic.aspx?topicid=234234&page=end#12312312</url>
    <need_audit>true</need_audit>
    </topics_reply_response>


  回送


need_audit表示此回复是否需要审核,如果为true则说明发表成功但是需要审核通过后才能显示

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    
131   主题已关闭,无法通过API进行回复    
132   当前用户阅读权限不足,无法查看主题或回复    
133   版块设置了密码,故无法使用API    
134   没有版块访问权限    
135   没有回复权限    
136   注册时间未达到系统要求的可发帖时间    
137   标题太长或含有非法字符    
138   内容长度不符合系统要求    
105   垃圾信息    


  注释


reply_info数组:
  reply_info必须包含下列参数

  • tid:回复的主题ID
  • fid:回复的版块ID
  • message:回复的内容


reply_info中还可以包含下列参数:

  • title:回复的帖子标题
  • uid:帖子作者uid,若不包含该值,则认为是当前用户回帖,访问接口时未提供session_key则认为是游客发帖


reply_info 数组示例如下:

{"tid":23232,"title":"re:api可以发帖啦","fid":2,"message":"这是帖子内容,可以很长很长"}

[方法] topics.getRecentReplies

  描述


获得主题的最新回复,支持分页

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float     
必选   sig     string     
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数 
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string       


  方法参数

必选项 名称 类型 描述
必选   fid     int   版块ID  
必选   tid     int     主题ID  
必选   page_size     int     每个分页的大小  
必选   page_index   int   当前分页索引  


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><topics_create_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <post>    <pid>121212</pid>    <layer>1</layer>    <poster_id>1</poster_id>    <poster_name>admin</poster_name>    <title>很好的标题</title>    <message>帖子内容</message>    <post_date_time>2008-08-08 20:08</post_date_time>    <invisible>0</invisible>    <rate>20</rate>    <rate_times>18</rate_times>    <use_signature>1</use_signature>    <poster_email>admin@hotmail.com</poster_email>    <poster_show_email>0</poster_show_email>    <poster_avator>http://www.abc.com/avator.gif</poster_avator>    <poster_avator_width>120</poster_avator_width>    <poster_avator_height>120</poster_avator_height>    <poster_signature>个人签名</poster_signature>    <poster_location>北京</poster_location>    <ad_index>3</ad_index>  </post>  <post>    <pid>121211</pid>    <layer>0</layer>    <poster_id>1</poster_id>    <poster_name>admin</poster_name>    <title>很好的标题</title>    <message>帖子内容</message>    <post_date_time>2008-08-08 20:08</post_date_time>    <invisible>0</invisible>    <rate>20</rate>    <rate_times>18</rate_times>    <use_signature>1</use_signature>    <poster_email>admin@hotmail.com</poster_email>    <poster_show_email>0</poster_show_email>    <poster_avator>http://www.abc.com/avator.gif</poster_avator>    <poster_avator_width>120</poster_avator_width>    <poster_avator_height>120</poster_avator_height>    <poster_signature>个人签名</poster_signature>    <poster_location>北京</poster_location>    <ad_index>2</ad_index>  </post></topics_create_response>


  回送


need_audit表示此主题是否需要审核,如果为true则说明发表成功但是需要审核通过后才能显示

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


该方法会取得包括主题帖的所有帖子,按照回复的倒序排列。如不想显示主题帖则应该过滤layer为0的帖子

[方法] topics.getList

 描述


获得主题列表,支持分页 (3.0版本开始支持)

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数  
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   fid   int   版块ID  
必选   page_size     int   分页显示条目数
必选   page_index    int   当前分页页码
可选   type_id_list     string   版块主题分类列表(逗号分割的数字列表)


  XML返回示例

<?xml version="1.0" encoding="utf-8"?><topics_getList_response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" list="true" xmlns="http://nt.discuz.net/api/">  <topic>    <topic_id>1</topic_id>    <title>asdfasf</title>    <author>admin</author>    <author_id>1</author_id>    <reply_count>27</reply_count>    <view_count>131</view_count>    <last_post_time>2009-04-03 17:56:00</last_post_time>    <last_poster_id>1</last_poster_id>  </topic>  <topic>    <topic_id>22</topic_id>    <title>sf2fwefwsfswfsafd</title>    <author>admin</author>    <author_id>1</author_id>    <reply_count>0</reply_count>    <view_count>6</view_count>    <last_post_time>2009-04-02 12:18:00</last_post_time>    <last_poster_id>1</last_poster_id>  </topic>  <topic>    <topic_id>21</topic_id>    <title>wefwfdswfdsdf</title>    <author>admin</author>    <author_id>1</author_id>    <reply_count>0</reply_count>    <view_count>0</view_count>    <last_post_time>2009-04-02 12:18:00</last_post_time>    <last_poster_id>1</last_poster_id>  </topic></topics_getList_response>


  JSON返回示例

{"count":22,"topics":[{"topic_id":1,"title":"asdfasf","author":"admin","author_id":1,"reply_count":27,"view_count":131,"last_post_time":"2009-04-03 17:56:00","last_poster_id":1},{"topic_id":22,"title":"sf2fwefwsfswfsafd","author":"admin","author_id":1,"reply_count":0,"view_count":6,"last_post_time":"2009-04-02 12:18:00","last_poster_id":1},{"topic_id":21,"title":"wefwfdswfdsdf","author":"admin","author_id":1,"reply_count":0,"view_count":0,"last_post_time":"2009-04-02 12:18:00","last_poster_id":1}]}


  回送


 

  • topic_id: 主题ID
  • title: 标题
  • author: 作者
  • author_id: 作者ID
  • reply_count: 回复数
  • view_count: 查看数
  • last_post_time: 最后回复时间(本地时间,非GMT时间)
  • last_poster_id: 最后回复人


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


该方法会取得主题列表,按照回复时间倒序排列

[方法] topics.getAttentionList

  描述


获得需要管理人员关注的主题列表 (3.0版本开始支持) 

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float     
必选   sig     string    
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    
可选   session_key   string   若应用程序是终端应用程序,则必须提供该参数


  方法参数

必选项 名称 类型 描述
必选   fid   int   版块ID,为0代表取全部版块  
必选   page_size   int   分页显示条目数
必选   page_index   int   当前分页页码


  XML返回示例

<?xml version="1.0" encoding="utf-8"?><topics_getList_response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" list="true" xmlns="http://nt.discuz.net/api/">  <topic>    <topic_id>1</topic_id>    <title>asdfasf</title>    <author>admin</author>    <author_id>1</author_id>    <reply_count>27</reply_count>    <view_count>131</view_count>    <last_post_time>2009-04-03 17:56:00</last_post_time>    <last_poster_id>1</last_poster_id>  </topic>  <topic>    <topic_id>22</topic_id>    <title>sf2fwefwsfswfsafd</title>    <author>admin</author>    <author_id>1</author_id>    <reply_count>0</reply_count>    <view_count>6</view_count>    <last_post_time>2009-04-02 12:18:00</last_post_time>    <last_poster_id>1</last_poster_id>  </topic>  <topic>    <topic_id>21</topic_id>    <title>wefwfdswfdsdf</title>    <author>admin</author>    <author_id>1</author_id>    <reply_count>0</reply_count>    <view_count>0</view_count>    <last_post_time>2009-04-02 12:18:00</last_post_time>    <last_poster_id>1</last_poster_id>  </topic></topics_getList_response>


  JSON返回示例

{"count":22,"topics":[{"topic_id":1,"title":"asdfasf","author":"admin","author_id":1,"reply_count":27,"view_count":131,"last_post_time":"2009-04-03 17:56:00","last_poster_id":1},{"topic_id":22,"title":"sf2fwefwsfswfsafd","author":"admin","author_id":1,"reply_count":0,"view_count":6,"last_post_time":"2009-04-02 12:18:00","last_poster_id":1},{"topic_id":21,"title":"wefwfdswfdsdf","author":"admin","author_id":1,"reply_count":0,"view_count":0,"last_post_time":"2009-04-02 12:18:00","last_poster_id":1}]}


  回送


 

  • topic_id: 主题ID
  • title: 标题
  • author: 作者
  • author_id: 作者ID
  • reply_count: 回复数
  • view_count: 查看数
  • last_post_time: 最后回复时间(本地时间,非GMT时间)
  • last_poster_id: 最后回复人


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


该方法会取得主题列表,按照回复时间倒序排列

[方法] topics.delete

 描述


删除指定主题(3.0版本开始支持) 

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float     
必选   sig     string     
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   fid   int   版块ID,用于终端程序验证版主用户的操作权限
必选   topic_ids     array   逗号分隔的被删除主题ID数组字符串,每次最多20个ID


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><topics_reply_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</topics_reply_response>


  JSON返回示例

"true"


  回送


xml返回0或1,json返回true或false

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释


web程序不需要传入session_key,桌面程序必须传入session_key,并且以此判断用户权限。桌面程序只能批量删除同一版块的主题

[方法] topics.edit

  描述


编辑主题(3.0版本开始支持) 

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string    
必选   call_id     float    
必选   sig     string    
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string     


  方法参数

必选项 名称 类型 描述
必选   tid   int   主题ID  
必选   topic_info   array   主题信息,传递一个JSON格式的数组  
可选   validate   int   是否校验数据合法性和用户发帖权限,若该值=1,则session_key必选


  XML返回示例

<?xml version="1.0" encoding="UTF-8"?><topics_edit_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</topics_edit_response>


  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    
105   垃圾信息    
137   标题太长或含有非法字符    
138   内容长度不符合系统要求    


  注释


topic_info数组:
  topic_info中必须包含下列参数:

  • title(主题标题)
  • fid(发帖的指定版块ID)
  • message(主题内容)


topic_info中还可以包含下列参数:

  • uid(发主题作者uid,若不包含该值,则认为是当前用户回帖,访问接口时未提供session_key则该项目必填,否则拒绝操作)
  • icon_id (图标id 1-15可选,0表示不显示图标)
  • tags(帖子标签信息,为逗号分割的列表,如:标签,标签1,API)
  • type_id (主题分类id,0表示不设置主题分类)


topic_info 数组示例如下:

{"uid":123,"title":"api可以发帖啦","fid":2,"message":"这是帖子内容,可以很长很长","icon_id":3,"tags":"标签1,标签2,API","type_id":4}

[方法] topics.deleteReplies

描述


删除指定主题的指定回帖(3.0版本开始支持) 

  通用参数 请参考 通用参数说明

必选项 名称 类型 描述
必选   api_key     string     
必选   call_id     float     
必选   sig     string     
可选   session_key     string     若应用程序是终端应用程序,则必须提供该参数
可选   format     string     所需的返回格式,XML (default) 或 JSON,若需要返回JSON类型数据格式则需要该参数
可选   callback     string    


  方法参数

必选项 名称 类型 描述
必选   tid   int   被操作的主题ID,需要跟post_ids对应的主题匹配
必选   post_ids   array   逗号分隔的被删除回帖ID数组字符串,每次最多20个ID


  XML返回示例


<?xml version="1.0" encoding="UTF-8"?><topics_deleteReplies_response xmlns="http://nt.discuz.net/api/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</topics_deleteReplies_response>


  JSON返回示例


"true"


  回送


xml返回0或1,json返回true或false

  错误代码


代码 描述
1   未知错误,请重新提交    
2   服务目前不可使用    
4   整合程序已达到允许的最大同时请求数    
5   请求来自一个未被当前整合程序允许的远程地址    
101   所提交的api_key未关联到任何设定程序    
102   session_key已过期或失效,请重定向让用户重新登录并获得新的session_key    
103   当前会话所提交的call_id没有大于前一次的call_id    
104   签名(sig)参数不正确    


  注释 


web程序不需要传入session_key,桌面程序必须传入session_key,并且以此判断用户权限。桌面程序只能批量删除同一版块的主题

 

 

posted @ 2012-02-17 14:22  黄铨  阅读(631)  评论(0编辑  收藏  举报