当前位置:  开发笔记 > 编程语言 > 正文

新浪微博开放平台PHP类WeiboClient说明

在初步掌握微博应用开发的流程后,建议通读一遍weibooauth.php中的代码,优先读classWeiboClient中公共方法的定义。这些方法都是直接操作微博和用户的,清楚有哪些方法,其调用接口、默认参数等。本文提供...">

在初步掌握微博应用开发的流程后,建议通读一遍weibooauth.php中的代码,优先读class WeiboClient中公共方法的定义。这些方法都是直接操作微博和用户的,清楚有哪些方法,其调用接口、默认参数等。 

 

  本文提供了class WeiboClient中公共方法的说明。这些方法用于直接操作微博和用户的,需要很熟练地使用,熟知每个方法的名称、参数和返回值类型。大多函数的返回值为array,还需要通过API文档知道对应array中各字段的信息。

     /**
     * 发表图片微博
     * @access public
     * @param string $text 要更新的微博信息。
     * @param string $text 要发布的图片路径,支持url。[只支持png/jpg/gif三种格式,增加格式请修改get_image_mime方法]
     * @return array
     */
    function upload( $text , $pic_path )

 

据此,我们知道发图片微博的代码应该包括:

(1)创建WeiboClient类的对象实例(该实例来自于授权,一段程序中多种功能可以共用一个实例);

  (2)准备微博信息及图片url;

  (3)用upload方法发送;

  (4)利用返回的array完成后续处理。

$c = new WeiboClient( WB_AKEY ,
                      WB_SKEY ,
                     $_SESSION['last_key']['oauth_token'] ,
                     $_SESSION['last_key']['oauth_token_secret']  );
$t=’新微博’;
$p=’ http://ww1.sinaimg.cn/large/67c69b94gw1dqf3w3vct0j.jpg’;
$rr = $c ->upload( $t, $p );
echo "

发送完成

" ;
}
?>

 

 


  下面是class WeiboClient中公共方法的说明。

 


class WeiboClient
{
    /**
     * 构造函数
     *
     * @access public
     * @param mixed $akey 微博开放平台应用APP KEY
     * @param mixed $skey 微博开放平台应用APP SECRET
     * @param mixed $accecss_token OAuth认证返回的token
     * @param mixed $accecss_token_secret OAuth认证返回的token secret
     * @return void
     */
    function __construct( $akey , $skey ,$accecss_token , $accecss_token_secret )
 
    /**
     * 最新公共微博
     *
     * @access public
     * @return array
     */
    function public_timeline()
 
    /**
     * 最新关注人微博
     *
     * @access public
     * @return array
     */
    function friends_timeline()
 
 
    /**
     * 最新关注人微博
     *
     * @access public
     * @return array
     */
    function home_timeline()
 
    /**
     * 最新@用户的
     *
     * @access public
     * @param int $page 返回结果的页序号。
     * @param int $count 每次返回的最大记录数(即页面大小),不大于200,默认为20。
     * @return array
     */
    function mentions( $page = 1 , $count = 20)
 
 
    /**
     * 发表微博
     *
     * @access public
     * @param mixed $text 要更新的微博信息。
     * @return array
     */
    function update( $text )
 
  
    /**
     * 发表图片微博
     *
     * @access public
     * @param string $text 要更新的微博信息。
     * @param string $text 要发布的图片路径,支持url。[只支持png/jpg/gif三种格式,增加格式请修改get_image_mime方法
     ]
     * @return array
     */
    function upload( $text , $pic_path )
 
 
    /**
     * 获取单条微博
     *
     * @access public
     * @param mixed $sid 要获取已发表的微博ID
     * @return array
     */
    function show_status( $sid )
 
    /**
     * 删除微博
     *
     * @access public
     * @param mixed $sid 要删除的微博ID
     * @return array
     */
    function delete( $sid )
 
 
    /**
     * 删除微博
     *
     * @access public
     * @param mixed $sid 要删除的微博ID
     * @return array
     */
    function destroy( $sid )
 
 
    /**
     * 个人资料
     *
     * @access public
     * @param mixed $uid_or_name 用户UID或微博昵称。
     * @return array
     */
    function show_user( $uid_or_name = null )
 
    /**
     * 关注人列表
     *
     * @access public
     * @param bool $cursor 单页只能包含100个关注列表,为了获取更多则cursor默认从-1开始,通过增加或减少cursor来获
     取更多的关注列表
     * @param bool $count 每次返回的最大记录数(即页面大小),不大于200,默认返回20
     * @param mixed $uid_or_name 要获取的 UID或微博昵称
     * @return array
     */
    function friends( $cursor = false , $count= false , $uid_or_name = null )
 
 
    /**
     * 粉丝列表
     *
     * @access public
     * @param bool $cursor 单页只能包含100个粉丝列表,为了获取更多则cursor默认从-1开始,通过增加或减少cursor来获
     取更多的粉丝列表
     * @param bool $count 每次返回的最大记录数(即页面大小),不大于200,默认返回20。
     * @param mixed $uid_or_name  要获取的UID或微博昵称
     * @return array
     */
    function followers( $cursor = false ,$count = false , $uid_or_name = null )
 
 
    /**
     * 关注一个用户
     *
     * @access public
     * @param mixed $uid_or_name 要关注的用户UID或微博昵称
     * @return array
     */
    function follow( $uid_or_name )
 
 
    /**
     * 取消关注某用户
     *
     * @access public
     * @param mixed $uid_or_name 要取消关注的用户UID或微博昵称
     * @return array
     */
    function unfollow( $uid_or_name )
 
 
    /**
     * 返回两个用户关系的详细情况
     *
     * @access public
     * @param mixed $uid_or_name 要判断的用户UID
     * @return array
     */
    function is_followed( $uid_or_name )
 
 
    /**
     * 用户发表微博列表
     * 
     * @access public
     * @param int $page 页码
     * @param int $count 每次返回的最大记录数,最多返回200条,默认20。
     * @param mixed $uid_or_name 指定用户UID或微博昵称
     * @return array
     */
    function user_timeline( $page = 1 , $count= 20 , $uid_or_name = null )
 
 
    /**
     * 获取私信列表
     *
     * @access public
     * @param int $page 页码
     * @param int $count 每次返回的最大记录数,最多返回200条,默认20。
     * @return array
     */
    function list_dm( $page = 1 , $count =20  )
 
 
    /**
     * 发送的私信列表
     *
     * @access public
     * @param int $page 页码
     * @param int $count 每次返回的最大记录数,最多返回200条,默认20。
     * @return array
     */
    function list_dm_sent( $page = 1 , $count =20 )
 
 
    /**
     * 发送私信
     *
     * @access public
     * @param mixed $uid_or_name UID或微博昵称
     * @param mixed $text 要发生的消息内容,文本大小必须小于300个汉字。
     * @return array
     */
    function send_dm( $uid_or_name , $text )
 
 
    /**
     * 删除一条私信
     *
     * @access public
     * @param mixed $did 要删除的私信主键ID
     * @return array
     */
    function delete_dm( $did )
 
 
    /**
     * 转发一条微博信息。
     *
     * @access public
     * @param mixed $sid 转发的微博ID
     * @param bool $text 添加的转发信息。
     * @return array
     */
    function repost( $sid , $text = false )
 
 
    /**
     * 对一条微博信息进行评论
     *
     * @access public
     * @param mixed $sid 要评论的微博id
     * @param mixed $text 评论内容
     * @param bool $cid 要评论的评论id
     * @return array
     */
    function send_comment( $sid , $text , $cid= false )
 
 
    /**
     * 发出的评论
     *
     * @access public
     * @param int $page 页码
     * @param int $count 每次返回的最大记录数,最多返回200条,默认20。
     * @return array
     */
    function comments_by_me( $page = 1 , $count= 20 )
 
 
    /**
     * 最新评论(按时间)
     *
     * @access public
     * @param int $page 页码
     * @param int $count 每次返回的最大记录数,最多返回200条,默认20。
     * @return array
     */
    function comments_timeline( $page = 1 ,$count = 20 )
 
 
    /**
     * 单条评论列表(按微博)
     *
     * @access public
     * @param mixed $sid 指定的微博ID
     * @param int $page 页码
     * @param int $count 每次返回的最大记录数,最多返回200条,默认20。
     * @return array
     */
    function get_comments_by_sid( $sid , $page= 1 , $count = 20 )
 
 
    /**
     * 批量统计微博的评论数,转发数,一次请求最多获取100个。
     *
     * @access public
     * @param mixed $sids 微博ID号列表,用逗号隔开
     * @return array
     */
    function get_count_info_by_ids( $sids )
 
 
    /**
     * 对一条微博评论信息进行回复。
     *
     * @access public
     * @param mixed $sid 微博id
     * @param mixed $text 评论内容。
     * @param mixed $cid 评论id
     * @return array
     */
    function reply( $sid , $text , $cid )
 
 
    /**
     * 返回用户的发布的最近20条收藏信息,和用户收藏页面返回内容是一致的。
     *
     * @access public
     * @param bool $page 返回结果的页序号。
     * @return array
     */
    function get_favorites( $page = false )
 
 
    /**
     * 收藏一条微博信息
     *
     * @access public
     * @param mixed $sid 收藏的微博id
     * @return array
     */
    function add_to_favorites( $sid )
 
 
    /**
     * 删除微博收藏。
     *
     * @access public
     * @param mixed $sid 要删除的收藏微博信息ID.
     * @return array
     */
    function remove_from_favorites( $sid )
  
  
    function verify_credentials()
 
    /**
     * 修改头像
     *
     */   
    function update_avatar( $pic_path )
 
} 


推荐阅读
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • JavaScript 页面卸载事件详解 (onunload)
    当用户从页面离开时(如关闭页面或刷新页面),会触发 onunload 事件,此时可以执行预设的脚本。需要注意的是,不同的浏览器对 onunload 事件的支持程度可能有所不同。 ... [详细]
  • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
  • 探索Java 11中的ZGC垃圾收集器
    Java 11引入了一种新的垃圾收集器——ZGC,由Oracle公司研发,旨在支持TB级别的内存容量,并保证极低的暂停时间。本文将探讨ZGC的开发背景、技术特点及其潜在的应用前景。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 在Notepad++中配置Markdown语法高亮及实时预览功能
    本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • CSS 实现 Inline-Block 元素水平居中
    本文介绍了如何使用 CSS 将 inline-block 类型的元素进行水平居中对齐的方法,适用于多种布局需求。 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 本文介绍了如何利用jQuery实现对网页上多个div元素的显示与隐藏控制,包括基本的toggle方法及更复杂的显示隐藏逻辑。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
author-avatar
勤劳的蛇zhong_138
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有