新浪微博开放平台解析.docx

上传人:b****8 文档编号:10955184 上传时间:2023-02-23 格式:DOCX 页数:20 大小:415.99KB
下载 相关 举报
新浪微博开放平台解析.docx_第1页
第1页 / 共20页
新浪微博开放平台解析.docx_第2页
第2页 / 共20页
新浪微博开放平台解析.docx_第3页
第3页 / 共20页
新浪微博开放平台解析.docx_第4页
第4页 / 共20页
新浪微博开放平台解析.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

新浪微博开放平台解析.docx

《新浪微博开放平台解析.docx》由会员分享,可在线阅读,更多相关《新浪微博开放平台解析.docx(20页珍藏版)》请在冰豆网上搜索。

新浪微博开放平台解析.docx

新浪微博开放平台解析

新浪微博开放平台解析

什么是开放平台?

根据维基百科的定义:

“开放平台指在软件业和网络中,软件系统通过公开其应用程序编程接口(API)或函数(function)来使外部的程序可以增加该软件系统的功能或使用该软件系统的资源,而不需要更改该软件系统的源代码。

非技术背景的读者可能心生疑惑,这个看似有些晦涩的以OpenAPI为基础的开放平台缘何突然成为各财经媒体封面报道的明星,互联网淘金者眼中的宠儿?

其实从开放平台更加广义的内涵看,它对于我们并不陌生,在我们的日常生活里随处可见。

比如超市、菜场,它们提供场地、物业以供商贩们入驻销售;甚至我们电脑里可以支持各种应用软件的Windows,其实也是一种开放平台……所谓的开放平台,本质是配备流通渠道的资源汇集地。

而一进入互联网世界里,物理实体形式的资源转变成了“二进制数据”,诸如菜农的一系列具体经营行为则相应地被抽象成了OpenAPI函数。

就这样,商机诞生了,比如通过软件应用商城API,开发者可以写个入口程序,既可以把自己的商品导入商城销售,也可以将商城的销售商品导入自己的应用,帮助商品寻找更多的新买家。

据统计,Facebook每天有50亿次API应用请求,占据它全部流量的75%------从这里我们不难简单一窥整个OpenAPI体系蕴藏的市场前景。

同时,和2010年同样风光一时的关键字:

“团购”、“地理位置应用(LBS)”所截然不同,开放平台不是单纯的商业模式,而是一种资源的调配方式,势必会影响互联网的产业格局。

而随着各开放平台的争相开放,意味着整个业界已经达成“共识”:

现在中国的互联网竞争已经进入了一个全新的高度------整合资源为核心的产业链竞争。

新浪微博开放平台

新浪微博开放平台,为广大开发者提供开放接口,可构建丰富多样的应用。

开放平台为用户提供辅助开发的多种典型应用,让新浪微博通过第三方网站、WAP、移动客户端和站内应用等接入形式遍植整个互联网,并提供XWeibo系统协助第三方快速搭建自己的微博系统,并与新浪微博平台互通,充分利用新浪用户与信息资源。

通过它,我们可以取得数千万用户的个人信息(需要用户授权)以及用户和用户自己的关系。

更重要的是,我们可以通过它,以用户身份发微博(同样需授权),从而影响用户的粉丝,再通过他们的转发将信息进一步传递,构造一个类似核裂变的信息传递链路,在短时间内覆盖大量用户,从而节省下大量的推广成本。

利用新浪微博开放平台提供的数据分享和传播服务,加上开发者的智慧,将创造无穷的功能与乐趣。

新浪微博开放平台接入方式

用户可以通过网站,移动应用,站内应用三种形式接入新浪微博开放平台,组建自己的社区。

1.网站接入

微连接(WeiboConnect)是新浪微博针对第三方网站提供的社会化网络接入方案。

微连接基于新浪微博亿级用户基数和社交网络传播特性,为第三方网站提供用户身份系统及社交关系导入。

让您的网站支持用新浪微博账号登录,让用户方便的分享网站的内容、在网站上关注您的官方微博。

使用微连接,可以快速为网站增加用户、流量和官方微博粉丝。

关于网站接入的详细介绍和微连接的接入流程请查看新浪开放平台文档:

2.移动应用接入

新浪微博平台上目前已有超过20万款应用,其中活跃应用约2万款,这一数据在持续迅猛增长中,吸引着更多开发者通过平台达成与微博的合作。

新浪微博移动应用开放平台为第三方提供了简便的合作模式,满足了多元化移动终端用户随时随地分享信息的需求。

且大大推动Weico、米聊、陌陌等第三方应用在短期内占领了用户市场。

移动应用开放平台将为第三方提供更丰富易用的微博接口及组件,以实现第三方移动站点、客户端、机顶盒、车载设备等多类型终端的社会化接入。

详情请查看新浪微博开放平台文档:

3.站内应用

为更好的规范第三方应用的开发质量,提高用户的应用使用体验,新浪微博推出站内应用框架服务。

通过该服务,可以将您的Web类应用接入新浪微博,让用户在新浪微博网站内使用应用,即站内应用。

你的应用将以的地址被用户访问到,并可深度整合新浪微博众多推广资源及传播渠道帮助你构建高度社交特性的应用。

详情请查看新浪微博开放平台文档:

平台已经提供的服务

1.微博登录:

微博登录包括身份认证、用户关系以及内容传播。

允许用户使用微博帐号登录访问第三方网站,分享内容,同步信息。

通过覆盖率超高的新浪账号,有效降低第三方网站用户参与门槛。

它有如下特点:

●直接用微博账号登录你的网站

●获得高质量微博活跃用户

●更便捷的分享到微博,提高网站信息传播力

2.微博组件:

●微博分享:

授权使用新浪微博账号,将在第三方网站中的动态消息,通过微博消息的形式,自动发表到新浪微博平台中,让更多微博用户通过消息中的链接/来源,回到第三方网站。

●第三方在新浪微博中运营微博直播/一键关注/评论箱/集体微博组件,可通过开放API,查询新浪微博平台中针对某个话题/名单/用户的微博,进行集中展现,达到获取微博平台消息作为网站内容,并吸引用户参与的目的。

●微博签名档:

可以放置在你的博客、论坛,或是其它可以引用网上图片的位置,签名档会随你的微博同步更新。

●微博发布器:

在您的博客、网站或其他支持HTML的位置嵌入一段微博发布器对应的代码,不仅能让用户直接发微博,您还可以在发布器中预制文案及图片。

●关注按钮:

关注按钮可以部署在任何支持iframe的网页。

用户在这些网页点击关注按钮,就可以成为你的微博粉丝。

让关注你的人来关注你的微博;让你在微博发布的信息有效覆盖、充分传播。

●微博秀:

可以放置在你的博客、网站,或是其它支持html代码的位置,展示你的微博和粉丝,让更多人关注你。

3.JS-SDK新浪微博Weibo-JS是一个基于Javascript的SDK,只需要在您的网站引用一个JS文件,就可以请求微博API,快速嵌入微博组件和查看统计数据。

4.XWeibbo,快速搭建属于自己的微博服务。

新浪微博开放API介绍

新浪微博开放API已向开发者提供以下功能接口,开发者可利用这些API开发自己的微博应用:

●微博接口

●评论接口

●用户接口

●关系接口

●账号接口

●收藏接口

●话题接口

●标签接口

●注册接口

●搜索接口

●推荐接口

●提醒接口

●短链接口

●通知接口

●公共服务接口

●位置服务接口

●地理信息接口

●社交电视接口

使用新浪微博为第三方开发者提供的以上API,可以获得如下好处:

●强大的平台支持新浪微博拥有3亿注册用户,这些用户都可能成为第三方应用的用户群体。

●获得来自新浪微博的优质内容微博天然具有内容即时丰富的特点,可以通过名单/话题/搜索等,将新浪微博的信息输出到第三方应用,获得最即时、最丰富、最活跃、最热门的微博消息,紧急突发事件,提供来自现场的最新资讯。

●内容通过新浪微博进行审核API全部内容通过新浪微博审核,第三方应用无审核压力,专业的审核团队24小时待命。

●降低网友参与门槛,提高网友参与度微博内容简短,发布门槛低,天然有利于用户的加入,相比传统的论坛、博客、等形式,微博更有利于提高网友的活跃度,微博具有的分享、评论、对话、私信等功能,有利于网友之间产生互动。

●获得在新浪微博进行品牌营销的机会

(1)优秀的第三方开发者的官方微博,在新浪获得认可及推荐,在应用广场得到曝光,增加听众。

(2)第三方应用产生微博来源显示第三方网站及网站名称,不仅能为网站带来点击,同时也能增加在亿万级平台之上的曝光机会。

Web服务有几种方式,传统的有WebService和XML-RPC,但是从目前趋势来看,越来越多的开放平台(Facebook和Twitter等)都使用REST模式的API接口。

因此新浪微博平台也是使用REST模式。

目前新浪微博几乎所有功能都有对应的API,而且接口数量还在迅速增长中。

新浪微博API与其他平台差异性如下。

全面性。

新浪微博提供各种全面数据访问接口。

开发支持。

新浪微博接口提供所有主流开放语言SDK,而且也处于长期不断改进中。

另外在全国范围内也陆续组织多次本地新浪微博开发者面对面交流活动,介绍微博平台最新特性及进行现场开发者技术答疑。

易用性。

在第一版API设计中大部分是参考业界同行的设计思路,不过由于国内应用需求及网络环境差异,直接照搬国外经验未必完全合适,因此在后续版本API会根据开发者需求做很多改进,提供优先考虑开发易用的API。

详情请查看新浪微博开放平台文档:

典型应用类型

使用新浪微博开发API可实现丰富的微博应用形式,包括:

1.账号连接——使用新浪微博账号登录/绑定第三方网站,分享信息;

2.个人展现——通过微博签名/关注按钮/微博秀等形式,展现用户个人/微博和粉丝信息,让更多的人关注你,进而产生用户间的关系链;

3.信息聚类——微博直播组件/一键关注/评论箱/集体微博组件,通过这些组件能够聚合展现微博信息。

4.用户互动——网站内容(网页/图片/视频)发表到微博,获取本站产生微博信息点评,回馈到网站作为用户产生内容。

小工具、小游戏——更多精彩的应用形式,还等待各位开发者加入开放平台进行创作。

技术架构介绍

新浪微博采用标准OAuth协议接入。

OAuth是一种开发的协议,为桌面程序或者基于BS的Web应用提供了一种简单的,标准的方式去访问需要的用户授权的API服务。

OAuth类似于FlickrAuth、Google的AuthorSub、Yahoo的BBAuthor、FacebookAuth等。

OAuth认证授权具有以下特点:

1.简单:

不管是OAuth服务提供者还是应用开发者,都很容易于理解与使用;

2.安全:

没有涉及用户密钥等信息,更安全更灵活;

3.开发:

任何服务提供商都可以实现OAuth,任何软件开发商都可以使用OAuth。

第三方应用每次向OAuth三个服务地址发送请求时,必须对请求进行签名。

签名的方法有:

HMAC-SHA1、RSA-SHA1与PLAINTEXT等三种。

新浪文本开放平台暂只支持HMAC-SHA1.

目前,OAuth2.0草案正在制定中。

相比1.0而言,最主要的变化是增加了accesstoken“refresh”的概念,即accesstoken不再是永久有效的,如果较长时间不使用则会过期。

此时需要用户“续期”才能继续使用。

新浪微博开放平台遵循最新的RFC5849协议。

架构上主要分为应用层、逻辑层、数据层三大块,可满足新浪数亿用户的访问需求。

应用层主要是开发者身份申请,APP_key申请,以及一键关注、微博秀,广播站、签名档等官方应用;

逻辑层主要包括房号模块server,授权server、微博对外API接口、鉴权server四部分;

存储层主要包括分布式数据存储模块、微博数据接口模块。

具体结果如下图1。

API申请入口

放号

授权

API接口

Oauth授权

分布式数据存储模块

微博数据接口

应用层

逻辑层

存储层

第三方应用

微博对外

图1新浪微博平台架构

具体的用户授权流程如图2:

第1步,用户点击连接钮,触发授权过程;

第2步,第三方软件向OAUTH服务提供商请求未授权的request_token。

向request_tokenURL发起请求,请求需要带上的参数:

(app_key、signature_method、signature、times_tamp、nonce、version、callback_url)其中signature由第三方对base_string(由各个参数组成的字符串)通过使用app_secret密钥,经过signature_method(HMAC-SHA1,RES-SHA1)方法进行签名;

第3、4、5步,验证第三方请求合法性,服务方用app_secrect密钥base_string进行签名,并验证得到的签名与第三方传过来的签名是否一致;

第6、7步,OAUTH服务提供商同意使用者的请求,并向其颁发XX的request_token与对应的request_token_secret,并返回给使用者;

第8步,第三方重定向到服务方页面,让用户进行授权,此步请求通过GET请求,带上request_token,此请求未签名;

第9步,OAUTH服务提供商将引导用户授权。

该过程可能会提示用户,你想将那些受保护的资源授权给第三方应用;

第10步,用户点击授权按钮,提交授权请求道UserAuthorizationURL;

第11、12、13步,服务方验证request_token有效性(是否过期,是否已使用过),如果有效,管理request_token与用户ID;

第14、15步,服务方回调第三方的callback_url,带上request_token,及verify_code。

Verify_code的作用,用于确认下步请求与回调对方是否同一用户。

第16步,第三方得知request_token授权后,第三方将向access_tokenURL发起请求,将上步授权的request_token换成access_token。

请求的参数,比第2步多了一个参数就是request_token,(app_key、request_token、signature_method、signature、times_tamp、nonce、version)其中signature由第三对base_string(有各个参数组成的字符串)通过app_secret加上request_token_secret作为密钥,经过signature_method(HMAC-SHA1,RSA-SHA1)进行签名;

第17、18、19步,验证第三方换取access_token请求合法性,服务方用app_secrect与request_token_secret密钥对base_string进行签名,并验证得到的签名与第三方传过来的签名是否一致;

第20、21步,OAUTH服务提供商同意第三方的请求,并向颁发access_token与对应的密钥(access_token_secret)。

第三方

服务方授权CGI

授权服务器

用户

1:

用户点击连接按钮()

2:

请求RequestToken()

3:

RequestTokenURL()

4:

请求RequestToken()

6:

返回RequestToken()

7:

返回RequestToken,RequestSecret()

8:

第三方定向到服务方授权页面()

9:

服务方提示用户授权()

10:

用户授权reqesttoken()

11:

UserAuthorizationURL()

12:

请求授权

14:

返回验证码

15:

服务方回调第三方URL,定向到第三方页面()

16:

第三方交换Accesstoken()

17:

AccessTokenURL()

18:

请求生成ACCESSTOKEN()

20:

返回ACCESS_TOKEN()

21:

服务方返回AccessToken()

图2用户授权流程图

开放平台的发展方向

新浪微博2010年4月正式上线。

2010年7月考虑开发第三方平台,9月内部系统联调通过。

11月第一个合作伙伴应用正式推出,到现在发展势头良好。

其发展历程如下:

第一步:

对第三方开发者提供API服务,可开发第三方应用;

第二步:

搭建应用频道,面向第三方应用用户提供应用推荐及管理系统,面向开发者提供应用基本数据查看,开始对第三方应用提供运营帮助(目前处于此阶段);

第三步:

为开发者提供全面的技术与运营服务,包括作为推广平台的影音频道第三方APP的运营管理,及面向对第三方开发者,提供全面的应用数据查看及分析系统,并考虑为第三方应用提供服务器托管,通过提供技术咨询服务,以及组织开发者大会等形式,帮助第三方应用更好的发展,最终形成双赢的局面。

微创业:

从开发平台和云计算开始

创业方式悄然更新

新浪云计算平台(SinaAppEngine,一下简称SAE),SAE采用“所付即所用,所付仅所用”的收费方式,开发者可以以很低的成本开始自己的项目。

当访问量小时,一天只需要发费几分钱;当访问量大时,也只需要为自己使用的资源付费,从而不会出现因为访问量激增后又回落造成的服务器资源闲置。

更吸引人的是,目前只要是能进入新浪微博应用频道的应用,都无需向SAE支付任何费用。

在架构上,SAE是分布式设计,应用从第一次部署开始就是负载均衡的,直接可用的多种服务更是可以节省大量的开发时间,只需要专注于应用的业务逻辑,将宝贵的时间和精力都用到刀刃上。

再说说新浪微博开放平台。

通过它,我们可以取得数千万用户的个人信息(需要用户授权)以及用户和用户自己的关系。

更重要的是,我们可以通过它,以用户身份发微博(同样需授权),从而影响用户的粉丝,再通过他们的转发将信息进一步传递。

这使得我们能构造一个类似核裂变的信息传递链路,在短时间内覆盖大量用户,从而节省下大量的推广成本。

如何开始你的创业之路

了解开发流程

在开始开发微博应用之前,我们需要了解微博应用开发的流程,如下图所示。

创建应用

编辑应用信息

开发应用

提交文案审核

文案审核通过

提交频道审核

应用频道审核通过

文档修改

文案提交二次审核

文案二次审核通过

修改文案生效

显示应用来源文案

应用频道页显示

图SAE上微博开发流程

在微博开放平台上,创建完应用就能获得AppKey和AppSecret,使用它们就可以操作接口了。

但是这时候的AppKey是受限制的,比如最多只能1000个用户使用;在用户授权和发布的微博来源处不会显示应用的名称。

只有提交“文案审核”并通过后,才会显示名称。

当通过文案审核后,应用就可以提交“频道审核”,通过审核的应用将出现在新浪微博应用频道(

创建新浪微博开发者账号和应用

在成为微博开发者之前,我们必须先有一个微博账号,微博应用的基本信息和统计数据都可以在这里看到。

账户注册和应用创建部分都是常规表格,微博开放平台上有详细的图文说明。

有一个非常重要的细节是,在提交应用信息时,一定要记得划上“同时申请新浪云计算平台邀请码”,这样顺利的话,在1~2个工作日后,就能收到SAE的邀请码。

完成应用的创建后,可以在应用的管理页面看到应用的AppKey和AppSecret。

这两个Key直接和接口调用权限关联,尤其是AppSecret,不应该提供给任何第三方。

在没有邀请码的情况下,也可以注册SAE账号,但这种体验用的账号只能使用一周,之后将被回收。

可以先创建体验账号,在获得邀请码后,直接将其转为正式账号。

创建SAE账号和应用

SAE是一个和GAE比较类似的平台,我们可以在上边调试、运行甚至开发Web应用(使用在线编辑器)。

和GAE不同的是,SAE支持的是在国内互联网中占主流的PHP和MySQL环境,这极大地降低了开发者的成本。

一方面开发者不用再学习新的知识;另一方面有大量的现有程序稍加改动就能使用。

从我们的实践来看,将WordPress移植到SAE只需要改动不到10行代码;而在SAE上使用的Smart用,只需要改动两行配置。

正因如此大量的开发者选择了SAE,在微博Web应用TOP10中,有7个应用都使用了SAE,而按照目前新浪对微博应用的支持策略,这些应用不管访问量多大,开发者都不需要花一分钱。

回到用户注册上来,点击SAE首页的“创建账号”链接,再填写开发者信息,通过邮件收到的邀请码和手机验证码后,就可以注册成为SAE的用户了。

登录后,在“应用”栏目下的“我的应用”中可以创建一个新应用。

应用的Appname同时也是二级域名的一部分,所以遵循域名定义规则。

创建好的应用可以用进行访问,目前还有一些不错的二级域名没有被注册,有兴趣的同学要抓紧哦。

开始开发应用

创建好应用之后,就可以进入应用的管理界面。

从左侧的分类可以知道,这里可以查看和设置应用的基本信息、管理应用的代码和成员、在线调试和查看访问日志以及初始化和设置各项服务。

一个新的应用通常从代码管理开始。

SAE上的应用支持多个子版本,可以通过“版本号。

”进行访问。

这可以帮助我们进行平滑的应用升级:

先创建一个新版本,通过“新版本号。

”进行调试,上线时只需要新版本指定为默认版本就可以了。

点击版本后对应的“编辑代码”及可以在浏览器中使用在线编辑器(记忆开源项目eCoder)编辑和发布代码。

当然我们也可以使用SAE提供的SDK来上传代码。

SAE的SDK使用PHP编写,所以其命令行版本在所有支持PHP的环境下都可用。

Windows用户可以选用带GUI的版本,使用起来会更加方便。

SAE平台对微博有着良好的支持,除了直接安装的微博Oauth框架。

在“应用仓库”大分类下,选择“开发框架”中的“热门框架”分类,就能看到“新浪微博OAuth框架”。

点击进入安装,选择好应用和版本。

然后在SAE代码管理编辑该项目的config.php文件,填入之前我们在微博开放平台得到的AppKey和AppSecret。

点击点击用微博账号登录按钮,就能够得到一个可以浏览订阅和发布微博的简单微博应用。

通过修改这个已经可用的微博应用,可以快速地实现各种定制。

如果想要定制一个完整的微博网站,那你可以试试“应用仓库”分类中,“热门应用”中的XWeibo。

注意事项

以上就是在SAE上开发微博应用的基本流程,在最后需要提醒大家注意的是,SAE的PHP环境和标准环境有一些区别。

为了保证数据一致性和性能,SAE不允许对本地文件系统进行读写。

相应的,SAE提供了自己的数据存储服务Storage,其本质是用HTTP协议包装的MongoDB。

数据的发布更新和访问都是通过HTTP协议,频繁的读写Storage会带来很高的资源消耗。

这点在开发过程中需要特别注意。

像记录调试日志这样的需求可以使用SAE_Debug函数直接输出到日志的“调试日志”分类,然后通过浏览器在线浏览,不要存放到Storage。

另外SAE提供了TMPFS服务来解决临时文件的问题。

TMPFS服务为开发者提供了一个临时目录,开发者可以将文件写到这个目录下并将其路径提供给其他模块(比如cURL)使用,但需要注意的是,当请求结束时,这个文件将不再存在。

为了方便移植,SAE还可以通过PHPWrapper用文件系统函数来操作SAE的Memcache和Storage服务。

最近SAE进行了一系列升级,已经直接支持GD、cURL(Socket)等服务,在环境上已经和标准PHP很接近。

更详细的信息可以访问SAE的“开发者中心”查阅文档。

新的技术为我们带来了新的机会,祝愿各位能在这个技术主导的时代里有所成就。

参考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1