新浪微博应用开发的一个解决方案
新浪微博应用开发的一个简易方案
PHP
+新浪微博开放平台
+新浪云平台(SAE)
贺利坚
2012.2.25
目  录
一、必须交待的几个问题 (1)
二、PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 (2)
三、建立微博应用的过程 (4)
四、PHP SDK中Demo程序简析 (18)
五、进一步学习的走向和有用的资源 (27)
附录1:新浪微博旧版API中的PHP例程 (29)
附录2:新浪微博开放平台WeiboClient类的公共方法 (59)
一、必须交待的几个问题
这是一个不严肃的册子,主要因为:(1)作者不精通PHP,对PHP涉及的内容早有了解,但没有专门学习,之前更没有做过程序。在决定试着体验用PHP开发微博应用后,也仅用半个上午的时间,浏览了PHP的一般语法;(2)这本册子是匆忙完成的,学习时间一天半,写作时间一天。主要是因为并不打算在此方面深入做下去,也没有那么多的时间;(3)册子中除了作者自写的文字,其他材料全部来自新浪微博开放平台
(open.weibo/)和新浪云平台(sae.sina/),有拼凑之嫌。
但是,这是一本很实用的册子,起码作者这样认为。以作者飞速的学习进度,有力地说明这是快速了解微博应用开发的最好材料,给出的解决方案也是最适合初学者构建微博应用开发的。一旦能够在浏览器中看到自己的代码操纵着微博中的信息,微博应用开发中不少概念将生动起来,再进一步做一些工作将不再那样艰苦。
尽管不严肃,还是决定写出来。针对零基础的开发者,现在还没有一个适合的资料。我的贡献在于为刚起步开发的读者整理出了个头绪,提出了一种最简便的学习方案。从初学者的角度,凭着自己尚热乎的初学者感觉,帮其他初学者一把。
因为不精通,很多相应平台上能说清楚的事情,直接给出链接,而不再多言。平台上的文字有些太多,初学者没看几个字,就被绕糊涂了。我的贡献是指出看这些庞杂文档的一个建议,并尽量引导读者动手做,早些到感觉。
所以,这本小册子仅是在微博应用开发上帮助读者起步的。将来,你很可能不用PHP 编应用,应用也不一定部署到新浪云平台,事实上,即使用新浪云平台,本手册中直接在线编码的方式也不好。另外,现在最有前途的是移动开发,开发在移动设备运行的微博应用更诱人。一旦起了步,就把这本小册子忘了吧,日后会有严谨的大册子。
这本小册子也想引导一种新的学习方式。学习应用开发,尤其是大学生的课外学习,不必重视打好基础再开始实施。尽可能地动手做起来,好多不易理解的概念由于无意中就体验到了,自然就通了。先做再学,边做边学,这是一种实用的学习方法。我的一些学生准备用PHP做微博应用,两个月了,仍然在看PHP,不妥。学习某些强调思维的计算机理论时,可能需要这样做。但为开发微博应用这个很明确的目标的学习,这是不对的。书上看到的不一定都能用上,开发微博应用很多关键的问题并不是一般PHP书籍涉及的。
交待完了。由于前述的问题,册子中的错误敬请批评,也请给予包涵。当然,能够为读者树立批判性学习的习惯作出贡献,也是作者很高兴的事。
本文的博文版本刚一发布,就有业内高手给了非常中肯的意见。
网友“IT人”(weibo/itren)指出:
1. 不需要下载phpSDK,sae默认包含有weibo的phpclass,直接使用;
2. sae开发框架里有围脖类别,直接一键安装即可;
3. 在开放平台中输入的url,不要带上sae的版本号,版本号是为了测试和快速切换用,默认版本访问时不需要版本号
作者回复:多谢指点。对零基础的学习者而言,注重涉及最少的概念做出个程序来,注重在这个过程中,逐渐搞清楚开放平台、SAE、微博应用、SAE应用、授权机制等内容,还是不必引入更多的环节。我的方法重起步学习,你补充了实用的方案,请不要介意我将把你的意见补充到文档中。
二、PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础
1、新浪微博开放平台(open.weibo/wiki/index.php/Quickstart)
开放的是什么:开放平台开放给开发者的是每一个用户的用户关系,开发者不在向传统应用那样面对单个开发者而是面对用户身后的整个好友圈。每一个API都是围绕好友与好友之间的交流来提供相关的功能,如发送微博,查看好友资料等等。
为什么要使用开放平台?开放平台可以加快应用的推广。每个用户可以影响到周围的好友,一旦应用真的优秀,用户可以方便的推荐给好友,好友又可以再推荐给他的好友。开放平台让用户关系更加容易获得。当应用涉及到用户交流的时候,需要同时拥有一定的用户和用户的关系链,而建立有这样数量用户的关系链需要大量时间和精力。微博通过草根和草根,草根和明星、明星和明星之间的互相关注,形成了一个巨大的社会关系网络,应用可以直接通过开放平台使用这个网络。
2、新浪云平台(Sina App Engine,SAE)
Sina App Engine(以下简称SAE)是新浪研发中心于2009年8月开始内部开发,并在2009年11月3日正式推出第一个Alpha版本的国内首个公有云计算平台
(sae.sina),SAE是新浪云计算战略的核心组成部分。
SAE作为国内的公有云计算,从开发伊始借鉴吸纳Google、Amazon等国外公司的公有云计算的成功技术经验,并很快推出不同于他们的具有自身特的云计算平台。SAE 选择在国内流行最广的Web开
发语言PHP作为首选的支持语言,Web开发者可以在Linux/Mac/Windows上通过SVN、SDK或者Web版在线代码编辑器进行开发、部署、调试,团队开发时还可以进行成员协作,不同的角将对代码、项目拥有不同的权限;SAE 提供了一系列分布式计算、存储服务供开发者使用,包括分布式文件存储、分布式数据库集、分布式缓存、分布式定时服务等,这些服务将大大降低开发者的开发成本。同时又由于SAE整体架构的高可靠性和新浪的品牌保证,大大降低了开发者的运营风险。另外,作为典型的云计算,SAE采用“所付即所用,所付仅所用”的计费理念,通过日志和统计中心精确的计算每个应用的资源消耗(包括CPU、内存、磁盘等)。
总之,SAE就是简单高效的分布式Web服务开发、运行平台。
更多见sae.sina/?m=devcenter&catId=19。
3、新浪云平台(Sina App Engine,SAE)和新浪微博开放平台的关系
微博应用开发成功后,需要将代码部署到Web中才能使用。也就是说,微博应用开发是通过调用新浪微博开放平台中的API完成程序编写的,而这些程序要上传到SAE,并在SAE上运行。
在开发过程中,可以在本地搭建Web服务器运行程序,也可以选择传统的服务托管完成。但是,这两种方案需要不少麻烦的配置。
在开发中直接将代码部署到SAE中,不需要任何的配置,甚至将来可能会用到的更多的服务都已经由SAE为你准备好了,我们可以直奔主题——开发微博应用。
SAE是免费的(至少是作为个人学习中需要用到的资源),这也很重要。
新浪微博登录不了等熟悉了SAE,你会了解更多的“云服务”。
4、为什么要用PHP
新浪微博开放开发平台提供了对Java ,PHP,Flash,Python,Javascript,Android
及iOS等多种语言及平台的支持,能够完成Web上的应用,也能够开发移动设备上的应用。开发者自由选择的余地相当大。
你学习微博应用开发的目标可能也并不是要用PHP开发,你甚至没有想法学会PHP。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。