1,SDK简介

本SDK是基于ThinkPHP开发类库扩展,因此只能在ThinkPHP平台下使用(ThinkPHP版本要求2.0以上)。DEMO中用到了控制器分层,因此运行DEMO需使用ThinkPHP3.1.2版本。

2,目前支持的平台

目前可用登录平台为:腾讯QQ,腾讯微博,新浪微博,网易微博,人人网,360,豆瓣,Github,Google,MSN,点点,百度,开心网,搜狐。

3,包含的文件

ThinkSDK/ThinkOauth.class.php SDK基类,主要用于Oauth的认证,所有平台的SDK均需要继承此类
ThinkSDK/sdk/DiandianSDK.class.php (点点SDK)
ThinkSDK/sdk/DoubanSDK.class.php (豆瓣SDK)
ThinkSDK/sdk/GithubSDK.class.php (Github SDK)
ThinkSDK/sdk/GoogleSDK.class.php (Google SDK)
ThinkSDK/sdk/MsnSDK.class.php (MSN SDK)
ThinkSDK/sdk/QqSDK.class.php (腾讯QQ SDK)
ThinkSDK/sdk/RenrenSDK.class.php (人人网SDK)
ThinkSDK/sdk/SinaSDK.class.php (新浪微博SDK)
ThinkSDK/sdk/T163SDK.class.php (网易微博SDK)
ThinkSDK/sdk/TencentSDK.class.php (腾讯微博SDK)
ThinkSDK/sdk/X360SDK.class.php (360 SDK)
ThinkSDK/sdk/BaiduSDK.class.php (百度SDK)
ThinkSDK/sdk/KaixinSDK.class.php (开心网SDK)
ThinkSDK/sdk/SohuSDK.class.php (搜狐SDK)

4,配置格式

SDK的配置格式如下(可参考DEMO中的配置)

//将一下(TYPE)换成你对应的SDK类型
'THINK_SDK_(TYPE)' => array(
'APP_KEY' => '', //应用注册成功后分配的 APP ID
'APP_SECRET' => '', //应用注册成功后分配的KEY
'CALLBACK' => '', //注册应用填写的callback
)

5,接入登录方法

  • 添加ThinkPHP扩展,将整个ThinkSDK目录放入到ThinkPHP的扩展目录下~Extend/Library/ORG/~。
  • 添加SDK配置,按以上配置格式在项目配置中添加对应的SDK配置。(可参考DEMO中的配置文件)
  • 跳转到授权页面,导入SDK基类import("ORG.ThinkSDK.ThinkOauth"),获取SDK实例$sdk=ThinkOauth::getInstance($type),跳转到授权页面redirect($sdk->getRequestCodeURL())。(可参考DEMO中的Index/login方法)
  • 获取access_token,在授权成功的回调页面中,调用$sdk->getAccessToken($code, $extend)方法来获取access_token。(可参考DEMO中的Index/callback方法)

6,调用API方法

成功获取到access_token之后就可以调用相应平台的API了,调用方法比较简单,只需要调用$sdk->call($api, $param, $method)方法就可以了,其中:$api为接口名称,$param为接口参数(格式:name1=value1&name2=value2), $method为请求方法(GET或POST)。

例如:

import("ORG.ThinkSDK.ThinkOauth"); //导入SDK基类
$qq = ThinkOauth::getInstance('qq', $token); //实例化腾讯QQ开放平台对象 $token 参数为授权成功后获取到的 $token
$data = $qq->call('user/get_user_info'); //调用接口

TP的SDK的调用的更多相关文章

  1. BarTender SDK 实现调用模板条码打印

    Demo:MyZebraPrint 基于BatTender .Net SDK 实现调用模板进行条码打印 有需要的朋友可以拿去研究下 在已经安装了BatTender10.1的电脑里测试通过. 下载地址: ...

  2. 【微博SDK调用逻辑】微博SDK的调用逻辑,最好自己还是写一个例子,试一下!!!

    逻辑是这样的,谢谢给我讲东西的开发哥哥,嘻嘻~~~  1.点击微博登录,SDK会打开微博客户端,然后点击登陆(如果已经登录了会出现一个当前app跟微博交互的图片界面,然后提示“正在获取授权信息”,如果 ...

  3. 利用Meida Service的Java SDK来调用Azure Media Services的Index V2实现视频字幕自动识别

    Azure Media Services新的Index V2 支持自动将视频文件中的语音自动识别成字幕文件WebVtt,非常方便的就可以跟Azure Media Player集成,将一个原来没字幕的视 ...

  4. Android微信SDK API 调用教程1

    最近一直在调用微信的API,却发现一直调用不成功,纠结了好久,各方面找教程,找官方,官方里的文档也只是写得很模糊,说是按三步走. 1.申请App_ID 2.填写包名3. 获取程序签名的md5值, 这三 ...

  5. Android微信SDK API 调用教程

     最近一直在调用微信的API,却发现一直调用不成功,纠结了好久,各方面找教程,找官方,官方里的文档也只是写得很模糊,说是按三步走. 1.申请App_ID 2.填写包名3. 获取程序签名的md5值, 这 ...

  6. Android微信SDK API 调用教程【转】

    原文:http://blog.csdn.net/worker90/article/details/8211451 最近一直在调用微信的API,却发现一直调用不成功,纠结了好久,各方面找教程,找官方,官 ...

  7. c++SDK c#调用_疑难杂症

    在编写过程中,会不时遇到各种问题: 1.dll明显在和exe同一目录下但调用不成功, 2.运行正常,没有报错,参数数值运行过程中也一致,但结果就是达不到预想, 都是dll没有引用完全造成的影响. 推荐 ...

  8. NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法

    一.本文内容简介 二.具体内容 1. 中文分词的基本概念 2.关于NLPIR(北理工张华平版中文分词系统)的基本情况 3.具体SDK模块(C++)的组装方式 ①准备内容: ②开始组装 三.注意事项 一 ...

  9. unity接入安卓sdk (unity调用安卓工程)

    1.安装jdk 并且配置环境,这个网上资料很多,这里不说了 2.安卓开发软件eclipse集成环境版 下载地址 http://tools.android-studio.org/index.php/ad ...

随机推荐

  1. Android setOnTouchListener识别滑动手势

    setOnTouchListener(new OnTouchListener() { private float startX, startY, offsetX, offsetY; @Override ...

  2. SQL文件导入到mysql乱码

    在输入中文之前先SET NAMES GBK 彻底解决MYSQL中文乱码的办法((5.5以后版本:) 修改MYSQL配置文件my.ini [client] default-character-set=u ...

  3. 如何在Delphi中调用VC6.0开发的COM

    上次写了如何在VC6.0下对Delphi写的COM进行调用,原本想马上写如何在Delphi中调用VC6.0开发的COM时,由于在写事例程序中碰到了个很怪的问题,在我机子上用VC写的接口程序编译能通过. ...

  4. [原]命令模式在MVC框架中的应用

    其实在项目开发中,我们使用了大量的设计模式,只是这些设计模式都封装在框架中了,如果你想要不仅仅局限于简单的使用,就应该深入了解框架的设计思路. 在MVC框架中,模式之一就是命令模式,先来看看模式是如何 ...

  5. rsyslog 配置详解

    格式:: 日志设备(类型).(连接符号)日志级别 日志处理方式(action) 日志设备(可以理解为日志类型): ------------------------ auth –pam产生的日志 aut ...

  6. aliyun 启用ECS iptables

    iptables -t nat -A POSTROUTING -s 0.0.0.0/24 -o eth0 -j MASQUERADEservice iptables saveecho 1 > / ...

  7. LDAP Authentication for openNebula3.2

    LDAP Authentication 3.2 The LDAP Authentication addon permits users to have the same credentials as ...

  8. Effective Objective-C 读书笔记

    一本不错的书,给出了52条建议来优化程序的性能,对初学者有不错的指导作用,但是对高级阶段的程序员可能帮助不是很大.这里贴出部分笔记: 第2条: 使用#improt导入头文件会把头文件的内容全部暴露到目 ...

  9. LNMP : 502 Bad Gateway 解决小记,真正的原因

    站点搬迁到新的server.原先一直都是LAMP.如今改为LNMP. 将重写文件 htaccess改成 nginx的 conf.放到了站点.可仅仅能打开首页,其它重写页面一打开都是不停的载入. 载入等 ...

  10. android部分控件应用解析

    java中的接口回调机制图解 1. Adapter 接口概述   Adapter是一个顶层列表视图和底层数据的桥梁,通过adapter可以获取列表视图中所体现的数据条目,并且通过adapter可以为数 ...