DiscuzNTAPI使用指南.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.什么是Discuz!NT API?á??f?E? J?èD ?2a2 Discuz!NT API是Discuz!NT发布的REST式web service,支持任何web技术系统和Discuz!NT进行跨域的整合。利用API可以在整合程序中调用用户资料,版块,帖子等内容,来开发跟论坛高度整合的应用程序。á??f?E? J?èD ?2a2 á??f?E? J?èD ?2a2 á??f?E? J?èD ?2a2 á??f?E? J?èD ?2a2 如图所示,Discuz!NT Server是运行着Discuz!NT的服务器。而App Server则是运行着App(应用程序)的客户端。á??f?E? J?èD ?2a2 á??f?E? J?èD ?2a2 当用户访问某个App时,Discuz!NT Server会发送一些必要的参数给AppServer,以供App确认当前访问App的用户来自于合法的Discuz!NT Server站点。á??f?E? J?èD ?2a2 在App运行时,如果需要从服务器端获取信息(例如判断当前登录用户的id),首先要向服务器端发送一个请求;服务器端接收到请求后,判断该请求是否合法(是否是由经过授权的App发送的,参数是否正确并完整等等)。如果请求合法,则服务器端调用对应的方法,并将执行结果返回给客户端。á??f?E? J?èD ?2a2 á??f?E? J?èD ?2a2 Discuz!NT API返回信息有XML和JSON两种á??f?E? J?èD ?2a2 XML返回示例:á??f?E? J?èD ?2a2 ?xml version=1.0 encoding=utf-8?á??f?E? J?èD ?2a2 users_getInfo_response xmlns:xsi=/2001/XMLSchema-instance xmlns:xsd=/2001/XMLSchema list=true xmlns=/api/á??f?E? J?èD ?2a2 userá??f?E? J?èD ?2a2 user_nameadmin/user_nameá??f?E? J?èD ?2a2 nick_name测试管理员/nick_nameá??f?E? J?èD ?2a2 /userá??f?E? J?èD ?2a2 /users_getInfo_responseá??f?E? J?èD ?2a2 JSON返回实例:á??f?E? J?èD ?2a2 [{user_name:admin,nick_name:测试管理员}]á??f?E? J?èD ?2a2 á??f?E? J?èD ?2a2 á??f?E? J?èD ?2a2 2.我们要先做什么样的部署才可以使用它?á??f?E? J?èD ?2a2 因为使用一个Discuz!NT站点的API是需要Discuz!NT站点进行身份验证的,为了站点的信息安全,我们必须先在Discuz!NT站点的后台--扩展--通行证设置 中去添加整合程序设置,添加后站点将生成APIKEY和secret_key供整合程序使用。á??f?E? J?èD ?2a2 á??f?E? J?èD ?2a2 3.Sessionkey是如何获取到的,以及Sessionkey和AuthToken的关系。á??f?E? J?èD ?2a2 因为之前有很多网友对这个环节有很多的疑问,所以这次先解释这个问题。á??f?E? J?èD ?2a2 虽然有些API调用并不需要整合程序提供正确的Sessionkey,但是涉及到了用户密码修改等涉及信息安全系数较高的操作,系统会要求整合程序提供Sessionkey。á??f?E? J?èD ?2a2 在官方提供的API方法中,auth.getSession 方法是返回Sessionkey的,但是这里就需要用户在使用它时提供AuthToken,AuthToken是通过请求 http://你的论坛地址/login.aspx?api_key=整合程序的API_KEY 获得的,如果当前状态为用户已登录,则会通过Callback(此信息在添加整合程序中需要填写,为返回信息给整合程序的某个页面)里面的地址返回AuthToken,否则则需要登录,登录后同样会返回AuthToken。á??f?E? J?èD ?2a2 所以说正确获取Sessionkey的步骤为:登录--获取AuthToken--调用auth.getSession --获取Sessionkeyá??f?E? J?èD ?2a2 想知道更多关于API的使用

文档评论(0)

cycpme07 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档