OAuthTutorial
本文介绍使用PHP libweibo (http://code.google.com/p/libweibo/) 来进行OAuth验证及微博接口调用
目录 |
准备工作
要使用微博开放平台之前,你必须拥有一个微博开放平台的帐号,可以到这里申请,http://t.sina.com.cn/11051/3f4cXR5Tej 申请通过后,微博开放平台会给你APP KEY(CONSUMER KEY)和CONSUMER SECRET.
只有拥有APP KEY和APP SECRET才能和微博平台进行交互
了解OAuth
微博开放平台支持两种认证方式,一种是需要用户输入用户名和密码的Basic验证,一种是不需要用户提供密码的OAuth.我们只提供OAuth方式的class.
OAuth通过应用和微博授权页面之间的跳转来进行授权. 其步骤为
- 应用向微博平台发起请求,获得一个临时的oauth_token,和oauth_token_secret(A),这套key被称为request token.
- 应用将用户转向到微博授权页面,同时带上这个token和一个回调页面地址
- 用户在微博上同意授权后,会生成oauth_verifier(B),并在转向到回调页面是带上这个值.
- 应用通过$_REQUEST得到oauth_verifier,再加上之前(A)处的oauth_token和oauth_token_secret,向微博发起最后一次请求.
- 微博平台验证无误后,发给应用另外一套oauth_token和oauth_token_secret(C),这套key被成为access token.
- 拿到access token意味着应用已经获得了授权.之后应用就可以通过access token获取和发送微博了.
access token不用每次都去取,可以把它保存下来,供下次使用.这样性能更高.
使用libweibo
- 下载,然后解压,修改config.php中的key
- 打开index.php,将13行最后一个url改成你网站对应的callback.php的url
用户被带到微博授权页面上,当他点击同意后,微博会将他转向到callback.php.
WeiboClient 支持的方法
时间线
* function public_timeline() * function friends_timeline() * function home_timeline() * function user_timeline( $page = 1 , $count = 20 , $uid_or_name = null ) * function user_timeline( $uid_or_name )
微博
* function mentions( $page = 1 , $count = 20 ) * function update( $text ) * function show_status( $sid ) * function delete( $sid ) * function destroy( $sid )
转发和评论
* function repost( $sid , $text = false ) * function send_comment( $sid , $text , $cid = false ) * function comments_by_me( $page = 1 , $count = 20 ) * function comments_timeline( $page = 1 , $count = 20 ) * function get_comments_by_sid( $sid , $page = 1 , $count = 20 ) * function reply( $sid , $text , $cid )
计数
* function get_count_info_by_ids( $sids )
用户和关系
* function show_user( $uid_or_name = null ) * function friends( $cursor = false , $count = false , $uid_or_name = null ) * function followers( $cursor = false , $count = false , $uid_or_name = null ) * function follow( $uid_or_name ) * function unfollow( $uid_or_name ) * function is_followed( $uid_or_name )
私信
* function list_dm( $page = 1 , $count = 20 ) * function list_dm_sent( $page = 1 , $count = 20 ) * function send_dm( $uid_or_name , $text ) * function delete_dm( $did )
收藏
* function get_favorites( $page = false ) * function add_to_favorites( $sid ) * function remove_from_favorites( $sid )
libweibo 可以在以下地址下载 http://code.google.com/p/libweibo/
libweibo也可以在Sina App Engine环境运行,请参考SAE官方博客文章 http://blog.sae.sina.com.cn/?p=99
文档更新时间: 2010-03-22