PHP+新浪微博开放平台+新浪云平台(SAE)
——新浪微博应用开发的一个解决方案
一、PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础
二、建立微博应用的过程
三、PHP SDK中Demo程序简析
四、进一步学习的走向和有用的资源
五、必须交待的几个问题
【PDF全文下载】
进一步学习的走向和有用的资源
在进一步的学习中,你需要:
(1)好好学习PHP:照猫画虎适合初入手,真正做项目不能靠这三板斧。
(2)开始比较系统地看在线文档,包括微博开放平台的文档和SAE的文档。(本文附录1 中提供新浪微博旧版API中的PHP例程,可以作为初学时阅读和试探的参考材料)。
(3)通读一遍weibooauth.php中的代码,优先读class WeiboClient中公共方法的定义。这些方法都是直接操作微博和用户的,清楚有哪些方法,其调用接口、默认参数等。 (附录2中 提供了作者整理的class WeiboClient中公共方法的说明)
你可能还会:
(1)改用别的语言开发;
(2)应用中需要用到数据库:还就在SAE中开发也不错,MySQL已经在SAE应用中了。其实,SAE中除了代码部署、分布式数据库外,还提供了很多强大的服务支持,包括分布式文件存储、分布式缓存、代码调优、数据库优化、团队协作、代码版本管理等;
(3)在专门的开发机上进行开发:在线编程有不少问题,常见的做法是开发团队自行配置服务器开发(当然1个人开发时,单机即做客户机又做服务器也是常见的),代码经过测试后再上线。配置各种平台将不可避免,只要起步了,这些并不是大问题。
下面谈所谓有用的资源。
附录1中是新浪微博旧版API中的PHP例程,可以作为初学时阅读和试探的参考材料。API 文档的旧版接口文档提供了一些PHP示例(新浪对PHP的支持最好),很方便用于学习。但是在新版API文档中,这些例子找不到了。另外,例子是通过接口组织的,这给初学者带来困难,我们希望通过要实现的功能来组织这些材料。例如,要实现转发一篇微博,能够很快地找到,这显然很诱人。
附录1的使用方法:阅读每一段代码,将代码写入前面的weibolist.php文件中,或者另建一个文件,在已经建好的应用中运行,调试、观察、改写。以此为基础,学习过程将加快,成为微博开发的高手。
需要说明的是,下面的条目分类有与API文档V2不一致的地方,请带着质疑,对照着API文档使用下面的例子。
<附录2 新浪微博开放平台WeiboClient类的公共方法>
附录2提供了作者整理的class WeiboClient中公共方法的说明,这些方法用于直接操作微博和用户的,需要很熟练地使用,熟知每个方法的名称、参数和返回值类型。大多函数的返回值为array,还需要通过API文档知道对应array中各字段的信息。
例如,WeiboClient类中有公共方法的定义:
- /**
- * 发表图片微博
- * @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完成后续处理。
例如:
- <?php
- $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 "<p>发送完成</p>" ;
- }
- ?>