如果你写了一个WEB程序,你又想与ucenter共用一个用户库,你会怎么做?

来吧,让我告诉你,只要几个简单的步骤就行了。

1、先到ucenter administrator建一个应用,在应用里配置完你的项目的地址,在UC_KEY那里随便输入一些字符串,越长越好。【在这里有配置通讯文件的名称,好象是提示你在api目录下,你可以定义一个,默认是uc.php】。然后你会一直发现应用列表中,该应用一直是通讯失败。

2、生成应用后,在应用详情的最下方有一个textarea框,这个就是系统帮你生成的连接ucenter的配置文件 。

3、在您的项目根目录下建立一个api目录,里面放上刚才说的通讯文件,默认是uc.php

在通讯文件里定义一些常量,可以从uchome、supesite、等里面拷贝出来,其实就是一些返回值 的常量。

加载刚才ucenter administrator所生成的配置文件。

到comsenz的任何一个程序中拷贝一下authcode函数(一般在common.inc.php或者global.inc.php中)

写上简单的判断代码:

$code = $_GET['code'];   //取得GET回来的code变量

//经过authcode解码后,转化为一个数组,这个数组里其实就有一些简单的验证信息,如:时间,传递过来的操作等

parse_str(authcode($code, ‘DECODE’, UC_KEY), $get);

//如果当前时间大于传递来的时间1小时,返回超时

if(time() – $get['time'] > 3600) {

exit(‘Authracation has expiried’);

}

//如果转换出来的$get变量是空值 ,那肯定是出错了

if(empty($get)) {

exit(‘Invalid Request’);

}

//获取传递过来的操作

$action = $get['action'];

//写上一个简单的判断

if ($action == ‘test’){

exit(API_RETURN_SUCCEED);

}

4、写完这样的代码后,去ucenter管理中心看一下应用列表,是不是通讯成功了?

其实那个通讯成功,就是发送了一个 action = test过来。所以当返回1的时候就直接成功了。

不过,由于exit();函数自身的状态,如果参数是字符串,则会直接输出,而如果参数是整数,则仅仅用来表示退出程序,而整数则代表了error code。

这时候,你就会发现,你必须得使用exit(“1″);才会真正的输出1。【当然,这是PHP的基础,与通信问题不大,在这里提出来,只是为了防止你明明写了exit(1),却不会输出而在那里拼命调试】

OK,到现在为止,一个简单的通讯就完成了。如果你需要更多的功能,可以参考一下server究竟提供了哪些服务,然后写上针对性的代码和判断就可以了。

本文没图,但我相信,说的应该够明白了吧?

ucenter api php,UCenter API使用入门相关推荐

  1. Spring Boot API 接口文档 Swagger 入门

    转载自 芋道 Spring Boot API 接口文档 Swagger 入门 摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/Swagger/ 「芋道源码」欢迎转 ...

  2. android 原生开发 3d地图 下载_arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)...

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  3. 芋道 Spring Boot API 接口文档 Swagger 入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  4. lambda 使用_如何使用Lambda和API网关构建API

    lambda 使用 Do you want to access your database, control your system, or execute some code from anothe ...

  5. 啥是符号式API,命令式API:TF 2.0两种搭建都支持,该怎么选?

    原作 Josh Gordon  栗子 编译  量子位 出品 | 公众号 QbitAI TensorFlow 2.0有一个很友好的地方,就是提供了多种不同的抽象方式,可以根据自己的需求来选择.这些API ...

  6. API Gateway(API网关)介绍

    API Gateway是一个服务器,也可以说是进入系统的唯一节点.这跟面向对象设计模式中的Facade模式很像.API Gateway封装内部系统的架构,并且提供API给各个客户端.它还可能有其他功能 ...

  7. API Testing 12 - API测试工具

    API Testing 入门基础系列 之 API Testing 12 - API测试工具 市场上有很多API测试工具,有一些是免费的,一些是付费的.有些免费版本只提供一些基本功能,当然也有很多好的免 ...

  8. JavaScript基础知识总结 14:学习JavaScript中的File API、Streams API、Web Cryptography API

    目录 一.Atomics和SharedArrayBuffer 二.原子操作基础 1.算术及位操作方法 2.原子读和写 3.原子交换 4.原子Futex操作与加锁 三.跨上下文消息 四.Encoding ...

  9. Python API vs C++ API of TensorRT

    Python API vs C++ API of TensorRT 本质上,C++ API和Python API应该在支持您的需求方面接近相同.pythonapi的主要优点是数据预处理和后处理都很容易 ...

  10. java api 设计_Java API设计实践

    使你的API在模块化和非模块化Java环境中都可用 在优锐课的java学习分享中,对微服务有了更深层次的新概念.关于API设计实践一点就通了. 介绍 了解设计Java API时应应用的一些API设计实 ...

最新文章

  1. 也谈1+2+3+...+n的解答
  2. 如何使用动态链接库中的资源
  3. Dubbo集成Zookeeper的实现原理
  4. 【转】使用 OpenSSL API 进行安全编程 - 创建基本的安全连接和非安全连接
  5. 12. Docker修改默认存储位置
  6. 月薪2w的00后女财务,靠这套报表模板征服了老板
  7. VC如何设置默认的调试程序
  8. Matplotlib - 中文字体
  9. Java项目开发-基于Java的宠物领养管理系统(附源码)
  10. 关于BandiZip的bug,linux解压下不友好情况
  11. 懒人版小学生1-6年级计算题练习(口算练习)可直接电脑上答题或者打印题目
  12. IDEA精选插件使用,建议收藏
  13. 网络工程——HCNA网络技术的简单配置
  14. Phantomjs对vue进行seo优化
  15. Shadowing Japanese 中上 Unit 4
  16. proxy(初级运用)
  17. python并集_python去并集
  18. 天勤数据结构笔记——第六章 树与二叉树(代码)
  19. 机器视觉按需求选择工业相机的方法
  20. 王欣MT背后隐藏着怎样的心理学市场?

热门文章

  1. python学习之去除字符串中的空格(6种方法)
  2. oj平台常见输出结果显示
  3. 【游戏开发】实现自定义游戏窗口
  4. 基于深度学习的文本摘要自动生成(自然语言处理)-本科毕业设计(附完整代码及数据集)
  5. 扶桑号战列舰【单调栈+线段树】
  6. PG12/GP7操作符+的实现
  7. 【一起学UniGUI】--UniGUI介绍(1)
  8. 面向对象----自有属性和共有属性
  9. MTK-MT6771芯片资料,最新的MT6771芯片规格书原理图设计资料
  10. 【智能客服】聊天机器人营销的好处是什么?