zoukankan      html  css  js  c++  java
  • 校内API相关

    > 前言
    > 本文档将以一个例子的形式进行讲解使用校内API的流程。
    > 下文的介绍中假定你是一个ABC网站的拥有者,网站地址是www.abc.com。
    > 文中 Application 表示一个应用,你的网站将被视为一个Application。
    > Ok,我们开始吧。
    > 约定
    > 1、 你的Application必须要在xiaonei上事先进行申请登记,登记成功后Xiaonei为ABC提供一个API_KEY,作为一个唯一标识,字符串的形式。
    > 2、 用户必须先到xiaonei进行登录。
    > 3、 用户需要接受这个Application提供的相关服务,否则用户在ABC站点上查看相关校内网的数据信息s。
    > 4、 ABC提供一个callback_url给xiaonei,此链接用于xiaonei验证用户成功后,回跳到ABC站点的url。
    > 流程
    > 1:登录xiaonei的URL
    > http://login.xiaonei.com/L.do?api_key=YOUR_API_KEY&v=1.0
    >
    > ABC的网页应该提供登录到xiaonei的入口,入口链接为上面的。用户点此链接后,xiaonei的登录验证服务会判断用户是否已经登录到xiaonei。
    > URL参数表
    > api_key(必须的) xiaonei提供给ABC站点的
    > v(必须的) 目前固定写 1.0
    >
    >
    > 2:xiaonei回调ABC的callback_url
    > Xiaonei验证用户已经登录校内,且用户已经接受了ABC站点提供的服务,则回调到ABC提供的callback_url地址。并将认证通过的加密串传给此链接。形式如下:
    > http://www.abc.com/callback_url? auth_token=
    >
    > 上面参数auth_token的值是xiaonei生成并传入的。
    > ABC需要接收此auth_token参数,并根据此auth_token进一步向xiaonei发送请求得到session_key。
    > URL参数表
    > auth_token(必须的)
    >
    > 3:得到校内用户的session_key
    > http://api.xiaonei.com/restserver.do?method= xiaonei.auth.getSession &
    > api_key=YOUR_API_KEY&v=1.0&auth_token=
    >
    > URL参数表
    > Method 固定值:xiaonei.auth.getSession
    > api_key(必须的) xiaonei提供给ABC
    > v(必须的) 目前固定写 1.0
    > auth_token 上一步获得的
    >
    > 成功返回值
    > 成功后返回一段XML文本,例如XML文本:
    > <?xml version="1.0" encoding="UTF-8"?gt;
    > <auth_getSession_response>
    >     <session_key>5f34e11bfb97c762e439e6a5-8055</session_key>
    >     <uid>8055</uid>
    >     <expires>1173309298</expires>
    > </auth_getSession_response>
    >
    > ABC方面需要解析此XML文本,提取出session_key串,并将session_key存储起来以备后面使用;<uid>节点表示用户id。
    > 失败返回值
    > 失败后返回一段XML文本,例如XML文本:
    > <?xml version="1.0" encoding="UTF-8"?gt;
    > <error_response>
    >   <error_code>5</error_code>
    >   <error_msg>未经认证的IP地址(ip: 20.1.2.3)</error_msg>
    > </error_response>
    > <error_code>节点表示错误代码,可参照下面"错误代码对照表"。
    >
    >
    >
    >
    > 4:从xiaonei取得一个用户信息的URL
    > http://api.xiaonei.com/restserver.do?method= xiaonei.users.getInfo &
    > api_key=YOUR_API_KEY&v=1.0&session_key=&uids=&format=
    > 提交方式
    > 使用POST提交。
    > URL参数表
    > method(必须的) 固定值:xiaonei.users.getInfo
    > api_key(必须的) xiaonei提供
    > v(必须的) 目前固定值:1.0
    > session_key(必须的) 取自上一步生成的串
    > uids 一个用户id,如:8055
    > format(可选的) Response的格式。请指定为XML(缺省值),
    >
    > 成功返回值
    > 成功后返回一段XML文本,例如XML文本:
    > <?xml version="1.0" encoding="UTF-8"?gt;
    > <users_getInfo_response>
    > <user>
    > <uid>8055</uid>
    > <name>刘德华</name>
    > <sex>1</sex>
    > <birthday>1961-09-27</birthday>
    > <hometown_location>
    > <country>中国</country>
    > <province>黑龙江</province>
    > <city>哈尔滨</city>
    > </hometown_location>
    > </user>
    > </users_getInfo_response>
    >
    > ABC需要解析此XML文本,提取出所需信息。<uid>节点表示用户id,<name>节点表示用户名字。
    > <sex>节点表示性别,值1表示男性;值0表示女性。
    > <birthday>表示出生时间,格式为:yyyy-mm-dd,ABC方面需要自行格式化日期显示格式。
    > <hometown_location>节点表示家乡所在地,<country>节点表示国家,<province>节点表示省或州,<city>表示城市。
    > 失败返回值
    > 失败后返回一段XML文本,例如XML文本:
    > <?xml version="1.0" encoding="UTF-8"?gt;
    > <error_response>
    >   <error_code>5</error_code>
    >   <error_msg>未经认证的IP地址(ip: 20.1.2.3)</error_msg>
    > </error_response>
    > <error_code>节点表示错误代码,可参照下面"错误代码对照表"。
    >
    >
    > 错误代码对照表
    > 错误号 错误描述 适用的方法
    > 11 一个未知的错误发生 (all)
    > 12 服务临时不可用 (all)
    > 13 未知的方法
    > 14 应用已达到设定的请求上限 (all)
    > 15 请求来自未经授权的IP地址 (all)
    > 16 此方法必须运行在api.xiaonei.com (all)
    > 100 无效参数 (all)
    > 101 提交的api_key不属于任何已知的应用 (all)

  • 相关阅读:
    xgzc— math 专题训练(一)
    floyd判圈算法
    CF961G Partitions
    luoguP4778 Counting swaps
    AT3913 XOR Tree(巧妙转换+状压dp)
    手动实现aop编程
    代理模式
    spring重点一:处理对象创建时间 个数以及方式
    spring helloword
    spring用来干什么,解决的问题
  • 原文地址:https://www.cnblogs.com/zack/p/1434507.html
Copyright © 2011-2022 走看看