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通过应用和微博授权页面之间的跳转来进行授权. 其步骤为

  1. 应用向微博平台发起请求,获得一个临时的oauth_token,和oauth_token_secret(A),这套key被称为request token.
  2. 应用将用户转向到微博授权页面,同时带上这个token和一个回调页面地址
  3. 用户在微博上同意授权后,会生成oauth_verifier(B),并在转向到回调页面是带上这个值.
  4. 应用通过$_REQUEST得到oauth_verifier,再加上之前(A)处的oauth_token和oauth_token_secret,向微博发起最后一次请求.
  5. 微博平台验证无误后,发给应用另外一套oauth_token和oauth_token_secret(C),这套key被成为access token.
  6. 拿到access token意味着应用已经获得了授权.之后应用就可以通过access token获取和发送微博了.

access token不用每次都去取,可以把它保存下来,供下次使用.这样性能更高.

使用libweibo

  1. 下载,然后解压,修改config.php中的key
  2. 打开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