本节内容:

新浪微博API的php实例。

新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open.weibo.com,它里面有很全面的新浪微博开发的资料,包括开发者的使用和介绍,各种语言的API函数介绍文档,SDK等多种资料。

首先,在新浪微博开放平台下载基于PHP的SDK开发包,下载地址:http://code.google.com/p/libweibo/downloads/detail?name=weibo-oauth-class-with-image-avatar-06-29.zip

将下载包放到开发环境中并解压,在其中也包含了demo演示程序,可以参考其样例程序进行编写。

新浪微博API开发最重要的用户授权过程

开发的第三方应用,使用的是OAuth授权,关于OAuth授权的流程在新浪微博开放平台里有很清晰完整的介绍,可以到http://open.weibo.com/wiki/Oauth去查看。

1.首先,获取未授权的Request Token

复制代码 代码示例:

$o = new WeiboOAuth( WB_AKEY , WB_SKEY );

$keys = $o->getRequestToken();

//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);

需要在新浪微博开放平台中注册一个帐号,或直接使用新浪微博帐号登录,进入应用,然后按照提示创建属于自己的第三方应用,创建完成之后可以得到两个授权的App Key和App Secret值,这两个值就是开发应用的关键。

得到授权值后,就可以利用上面的代码获得未授权的Request Token值了,它们会保存在$key数组变量中。

2.请求用户授权Token

复制代码 代码示例:

$_SESSION['keys'] = $keys;

aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/callback.php');

得到未授权的Request Token值后,就利用上面的代码可以开始准备去新浪微博授权页面进行授权,$aurl就是授权链接页面,得到$aurl后就可以利用header()直接跳转到该授权页面,然后用户输入新浪微博帐号和密码进行授权,授权完成后,自动跳回你在最后一个参数里面设置的回调页面:http://localhost/callback.php,该链接你可以设置为上一个页面,这样授权完成之后就会自动又跳转回去了。

注意:设置session的keys的值是必须的,它在下面获取到授权的Access Token中是需要用到的。很多的朋友可能会参考其开放平台上面的说明来进行授权时,可发现总是出错,一般都是这个问题,你并未设置session的keys值,在下面当然取不到Access Token的值了,这个一定要记住了。

3.得到用户授权的Access Token

复制代码 代码示例:

$o = new WeiboOAuth( WB_AKEY ,

WB_SKEY ,

$_SESSION['keys']['oauth_token'] ,

$_SESSION['keys']['oauth_token_secret'] );

$last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;

echo($last_key['oauth_token']);

以上代码,最终获得了用户授权的Access Token,共两个值,它们保存在$last_key数组变量里面,也可以看到,后面的两个参数就是前面设置的session值。到此就基本完成了,这就是新浪微博用户授权的一个完整的过程。

授权完成后的工作

在授权完成之后,就可以开始调用新浪微博提供的各类API函数接口进行实际应用的开发了,在这里对获取最新微博记录这个接口作下简单说明,其他都类似。

获取最新新浪微博信息的API接口函数是:public_timeline(),样例代码看下面:

复制代码 代码示例:

//获取前20条最新更新的公共微博消息

$c = new WeiboClient( WB_AKEY ,

WB_SKEY ,

$oauth_token ,

$oauth_token_secret );

$msg = $c->public_timeline();

if ($msg === false || $msg === null){

echo "Error occured";

return false;

}

if (isset($msg['error_code']) && isset($msg['error'])){

echo ('Error_code: '.$msg['error_code'].'; Error: '.$msg['error'] );

return false;

}

print_r($msg);

通常在得到用户授权的Access Token值之后,就把它们保存在的用户表中,与的应用中的帐号进行对应,之后在调用新浪微博各api接口时就不用每次都去认证了。

实例化WeiboClient对象,然后直接调用接口函数public_timeline就可以得到返回的信息,如果没有错误的话。通常新浪微博api接口返回的数据格式一般为Json格式或xml格式,而在此是用php进行开发,则使用Json格式的数据就有先天的优势,如果返回Json格式数据的话,直接使用php函数json_decode()就可以转换为php常用的array数组格式了。

php微博登录授权代码,php使用新浪微博API开发用户授权功能相关推荐

  1. 新浪微博客户端开发之授权登录+获取微博列表

    新浪微博客户端开发之授权登录+获取微博列表 闲篇: 最近实在是乱得不行,至于怎么乱我也不知该怎么说,那么久没发博客就证明了这点,一般如果小巫有做详尽的计划,并把时间投入到上面的话,我是可以用最短的时间 ...

  2. php新浪微博转发 发布微博apisdk,新浪微博API开发简介之PHP根底篇-用户授权

    新浪微博API开发简介之PHP根底篇-用户授权 如今玩微博的人越来越多了,而关于微博的第三方运用开发也越来越多,本人在偶然间末尾接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了 ...

  3. 新浪微博开发平台基于php的sdk包(包含demo程序),新浪微博API开发简介之用户授权(PHP基础篇)...

    现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open ...

  4. python微博自动评论转发_python3 调用新浪微博api实现自动发布评论

    新浪微博开放平台提供了丰富的API接口,利用这些接口,开发者能够开发出独具特色的微博应用.但是,大部分接口都需要用户授权给应用,应用利用授权得到的Access Token来调用相应的接口来获取内容. ...

  5. 微博登录界面的PHP代码,关于接入微博登录的代码实现

    代码实现 我这里没有使用自带的微博 phpsdk 为了可扩展性接入其他支付,我公用了一个配置文件 return [ 'log' => [ 'file' =>storage_path('lo ...

  6. aspnet登录界面代码_SPA+.NET Core3.1 GitHub第三方授权登录

    GitHub第三方授权登录 有许多文章都讲过GitHub第三方授权登录,但就是没有.NET Core配合前后端分离的项目(Vue,React)的实践.所以本文以前后端分离项目中如何在授权登录后,生成T ...

  7. 微信小程序云开发用户身份登录_微信小程序开发用户授权登录(下)

    如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用.网站应用和公众帐号(包括小程序),用户的 Un ...

  8. 新浪微博开发平台基于php的sdk包(包含demo程序),新浪微博API开发教程(一)-体验篇...

    现在新浪微博开放平台(http://open.weibo.com)非常火啊,所以...,你懂的! 首先,想要开发新浪微博API,你就必须获取APP KEY和APP SECRET,我毫不犹豫的就用新浪微 ...

  9. 微信小程序弹出用户授权弹窗,微信小程序引导用户授权,获取位置经纬度

    我们在开发小程序时,有些操作必须让用户授权.比如我们获取用户位置,需要用户授权位置信息.授权操作我们需要给用户弹窗提示,在用户禁用某些权限时,又要引导用户去设置页开启相应权限.我们这里就以获取经纬度为 ...

最新文章

  1. Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
  2. numpy meshgrid用法
  3. VC连接SQL server2005
  4. linspace python_python np.linspace
  5. 【Linux】GCC程序开发工具(上)
  6. c语言prog1已停止工作,1.在考生文件夹下,要求程序PROG.C的功能是.doc
  7. c语言数据结构单链表输出链表操作,单链表一系列操作c语言实现(按照严蔚敏那本数据结构编写)...
  8. PS-elevenday-铅笔工具(颜色替换)
  9. MySQL数据库基本操作
  10. 自走棋突然显示服务器无法定位,刀塔自走棋服务器无法定位游戏会话_刀塔自走棋服务器无法定位游戏会话怎么回事_玩游戏网...
  11. IEEE802模型与协议标准
  12. C语言实现倒计时关机程序(goto语句、strcpm函数、system函数)
  13. 有原函数,可积、变限积分
  14. 如何跳过计算机配置直接开机,怎么跳过Windows update配置直接开机?
  15. Python开发【十一章】:RabbitMQ队列
  16. 第十二周项目五-----迷宫问题之图深度优先遍历解法
  17. mysql运维工程师_运维工程师需要了解的MySQL运维经验
  18. 破解XP系统密码的常用的几种方法
  19. Flask(python)恶补笔记
  20. js数组操作(push,pop,shift,unshift,slice,splice,concat,sort)

热门文章

  1. select @@identity的用法
  2. uboot的启动过程-FDT
  3. 关于Java NoSuchElementException: No value present以及java.lang.NullPointerException处理
  4. java smtp pop3_JavaMail(二):smtp,pop3命令
  5. SimpleDateFormat的时空穿越之旅
  6. godaddy域名空间购买波折
  7. as the saying goes 常言道
  8. python中prin输出时出现中文乱码
  9. jQuery绑定键盘事件
  10. 指标异动排查中,3种快速定位异常维度的方法