UCenter开发手册API接口.doc
文本预览下载声明
UCenter开发手册 API接口 (2011-09-06 11:50:33)
Discuz!文档 UCenter开发手册
API接口
以下关于文件的阐述以及代码的样例,均以 PHP 程序为例。
UCenter 的 API 接口文件必须存放于应用程序根目录的“api/”目录中,且文件名可以自定义,默认为 uc.php,即“api/uc.php”。文件结构可分为 4 部分,包含 12 个接口项目。第 1 部分为常量定义、第 2 部分为通知方式判断以及初始化输入参数、第 3 部分为接口类代码段、第 4 部分为函数定义。
1、常量定义
define(UC_CLIENT_VERSION, 1.5.0); //note UCenter 版本标识
define(UC_CLIENT_RELEASE,;
define(API_DELETEUSER, 1); //note 用户删除 API 接口开关
define(API_RENAMEUSER, 1); //note 用户改名 API 接口开关
define(API_GETTAG, 1); //note 获取标签 API 接口开关
define(API_SYNLOGIN, 1); //note 同步登录 API 接口开关
define(API_SYNLOGOUT, 1); //note 同步登出 API 接口开关
define(API_UPDATEPW, 1); //note 更改用户密码 开关
define(API_UPDATEBADWORDS, 1); //note 更新关键字列表 开关
define(API_UPDATEHOSTS, 1); //note 更新域名解析缓存 开关
define(API_UPDATEAPPS, 1); //note 更新应用列表 开关
define(API_UPDATECLIENT, 1); //note 更新客户端缓存 开关
define(API_UPDATECREDIT, 1); //note 更新用户积分 开关
define(API_GETCREDITSETTINGS, 1); //note 向 UCenter 提供积分设置开关
define(API_GETCREDIT, 1); //note 获取用户的某项积分 开关
define(API_UPDATECREDITSETTINGS, 1); //note 更新应用积分设置 开关
define(API_RETURN_SUCCEED, 1);
define(API_RETURN_FAILED, -1);
define(API_RETURN_FORBIDDEN, -2);
常量定义部分定义了接口所用到的 14 个接口项目的开关设置,“1”为开启“0”为关闭。如果开启,则代码段运行后返回 API_RETURN_SUCCEED,否则返回 API_RETURN_FORBIDDEN。接口运行失败则返回 API_RETURN_FAILED。
2、通知方式判断以及初始化输入参数
if(!defined(IN_UC)) {
error_reporting(0);
set_magic_quotes_runtime(0);
define(DISCUZ_ROOT, substr(dirname(__FILE__), 0, -3));
defined(MAGIC_QUOTES_GPC) || define(MAGIC_QUOTES_GPC, get_magic_quotes_gpc());
require_once DISCUZ_ROOT../config.inc.php;
$_DCACHE = $get = $post = array();
$code = @$_GET[code];
parse_str(_authcode($code, DECODE, UC_KEY), $get);
if(MAGIC_QUOTES_GPC) {
$get = _stripslashes($get);
}
$timestamp = time();
if($timestamp - $get[time] 3600) {
exit(Authracation has expiried);
} if(empty($get)) {
exit(Invalid Request);
}
$action = $get[action];
require_once DISCUZ_ROOT../uc_client/lib/xml.class.php;
$post = xml_unserialize(file_get_contents(php://input));
if(in_array($get[action], array(test, d
显示全部