http://t.sina.com.cn/
新浪微博通用合作方案
——产品和技术简介 2010-4-20
为什么要合作?
和新浪微博进行合作,千万级的新浪微博用户对您的网站和资讯将更加触手可得。借助微博特有的转发评论等产品功能,您的高质量内容将获得更多的有效传播,也将会被更多的用户所关注。通过微博专业的运营团队给合作方指导性的帐号营销策略,更能让您的网站和品牌在微博用户中树立形象。
如何合作?需要准备什么?
下文将列出几种通用的合作方式,首先将介绍我们管理来源和开发者应用的APPKEY,接着将说明如何通过Oauth实现用微博帐号登录您的网站,然后将说明如何在您的网页加入分享按钮,并且我们会回推给您分享的微博方便您后续的跟踪和进行数据分析,最后将要介绍怎么来实现微博消息和您网站的同步,即用户更新了您的网站的状态,微博上也有展现。 如果您还有更多的需求,访问我们的 http://open.t.sina.com.cn 通过我们开放的,标准的REST API来满足您一切需求。
关键词:
Appkey,微博来源,Oauth,分享到微博,评论回推,消息同步
1 / 10
http://t.sina.com.cn/
目录
新浪微博通用合作方案..................................................................................................... 1 目录................................................................................................................................. 2 1. appkey——来源显示,API调用权限 .......................................................................... 3
1.1. 什么是appkey? ............................................................................................. 3 1.2. 如何获得appkey?.......................................................................................... 3 2. Oauth——用微博帐号登录你的网站,与微博帐号绑定 .............................................. 4
2.1. 2.2. 3.1.
什么是“用微博帐号登录”?......................................................................... 4 如何在您的网站加入“用微博帐号登录”或“绑定微博”? ........................... 4 分享到微博用户,产品流程 ............................................................................ 6 3.1.1. 用户点击分享按钮并分享 ..................................................................... 6
3. 分享到新浪微博,微博评论回推................................................................................ 6
3.1.2. 微博显示来源网址,或者图片,视频.................................................... 7 3.2. 分享到微博技术方法,接口 ............................................................................ 7
3.2.1. 3.2.2.
加入a标签 .......................................................................................... 7 如果您觉得a标签麻烦,可以使用以下方法 ......................................... 8
3.2.3. 视频合作网站url识别接口 ................................................................... 8 3.3. 什么是微博评论回推? ................................................................................... 9 4. 即时状态双发,微博同步展现 ................................................................................. 10
4.1. 4.2.
合作网站同步到微博..................................................................................... 10 微博同步到合作网站..................................................................................... 10
2 / 10
http://t.sina.com.cn/
1. appkey——来源显示,API调用权限
1.1. 什么是appkey?
为了保障信息的和谐,和更方便的管理。每一次的API请求都必须带上appkey,对应着开发者的信息。
而appkey更重要的功能,就是来控制每一条微博的来源文字和链接,例如一个用户用了Iphone客户端来发布,iphone客户端的开发者将他自己这个应用appkey(包含应用名称和链接)已经写入他的程序中了,这样,任何使用他的程序的用户进行发微博操作的时候,都会显示来自于iphone客户端。更多的用户会因为身边的人都使用iphone客户端然后自己也会去下载一个,达到了传播效果。
1.2. 如何获得appkey?
1,首先您有一个新浪微博帐号。没有的可以去http://t.sina.com.cn/reg.php 注册一个。
2,进入 http://open.t.sina.com.cn/ 在右上角进行登录,并设置自己的开发者信息(重要,信息的完善程度将影响您的应用审核进度,和进入微博广场的进度)。 3,登录后,在我的应用中创建一个应用,其中应用名称和应用地址,就是对应着将来的微博来源文字和来源链接,必须慎重填写。除此之外,如果您只是网站之间的合作,将开发者信息完善好即刻,其他信息不需要填。
4,申请好以后你将会看到在自己的应用信息下面会有一个appkey的参数,和app secret参数,后者请保密,这两个参数将用在以后的编码中。
注:如果需要加速审核的程序可以直接和微博开放平台对外接口的方涛(fangtao1@staff.sina.com.cn)联系。
接下来,将要介绍3个合作的基本点。
3 / 10
http://t.sina.com.cn/
2. Oauth——用微博帐号登录你的网站,与微博帐号绑定
2.1. 什么是“用微博帐号登录”?
例如在点评网的登录页中( http://www.dianping.com/login 未登录下查看),有一个入
口可以直接使用微博帐号登录,如下图。已经有微博帐号的用户,可以不用注册点评网即可通过这个入口登录。登录后,点评网可以直接从微博获取这个用户的一些信息,例如昵称。
同样,已经是点评网的用户,在自己的设置中( http://www.dianping.com/mysetup/sina 登录后查看),可以绑定新浪微博帐号。
以上两种用户,在点评网的行为,均可以同步到微博,例如发表了点评等。
2.2. 如何在您的网站加入“用微博帐号登录”或“绑定微博”?
此部分内容具体需要参考我们的API文档中的方法:
http://open.t.sina.com.cn/wiki/index.php/首页#.E7.99.BB.E5.BD.95.2FOAuth.E6.8E.A5.E5.8F.A3
不能保证下文内容是最新的,下文只是做一个简单介绍。
2.2.3. 为什么使用Oauth:
为了保护新浪微博用户的数据,当第三方应用需要通过API访问时,需要通过OAuth认证机制来获得用户的授权。 虽然目前API也支持用户名/密码的方式,但是强烈建议第三方开发者和用户都选择OAuth认证方式。 OAuth方式无需用户在第三方软件输入用户名/密码,用户验证时是跳到新浪网站进行身份验证。
2.2.4. 可参考资源:
[OAUTH协议简介] http://blog.csdn.net/hereweare2009/archive/2009/03/08/3968582.aspx [Beginner’s Guide to OAuth] http://hueniverse.com/oauth/ [OAuth官网] http://oauth.net/
4 / 10
http://t.sina.com.cn/
[Google-OAuth项目提供各种语言的OAuth库] http://code.google.com/p/oauth/
2.2.5. Oauth的认证流程及访问资源流程:
2.2.6. 常见问题:
在第一步获取Request Token时,需要使用Consumer Key和API Key Secret进行签名 的Consumer Key Secret。
在第二步换取Access Token时,需要使用Consumer Key,API Key Secret、Request Token和Request Token Secret进行签名。而Request Token和Request Token Secret对应签名中的Token和Token Secret
而在第三步访问受限资源时,需要使用Consumer Key,API Key Secret、Access Token和Access Token Secret进行签名。
请注意区分三次签名中用到的Key、Token和Secret,这是签名不匹配的一个常见原因。
对于上传图片的接口,需要使用MultPart,认证时图片不加入baseString做签名。 对中文字串做URLEncode时,注意确定生成的串中的字母必须为大写。 获取未授权的 Request Token 用户授权该Request Token
通过authorize得到用户授权后的 Access Token 使用Access Token访问或修改受保护资源
具体上文中的方法可以到我们的API文档中查询更多详细内容:
http://open.t.sina.com.cn/wiki/index.php/首页#.E7.99.BB.E5.BD.95.2FOAuth.E6.8E.A5.E5.8F.A3
5 / 10
http://t.sina.com.cn/
3. 分享到新浪微博,微博评论回推
关于分享到新浪微博,流程如下:
3.1. 分享到微博用户,产品流程
3.1.1. 用户点击分享按钮并分享
点击后,会弹出类似下面的小窗,内容由合作方来定制。如果用户未登录微博还需要登录微博才能进行分享操作。
6 / 10
http://t.sina.com.cn/
3.1.2. 微博显示来源网址,或者图片,视频
通过分享过来的内容,展示出图片,视频。并且这条微博有来源,来源是通过appkey来定制的。
3.2. 分享到微博技术方法,接口
在自己的网页上加入“分享到新浪微博”链接。分享按钮的具体样式不限,可以参考第一张图verycd的效果。其中,微博的favicon地址是:
http://simg.sinajs.cn/miniblog/images/common/smalllogo.gif 加分享链接可以有以下两种方式: 3.2.1. 加入a标签
href=\"javascript:void((function(s,d,e,r,l,p,t,z,c){var%20f='http://v.t.sina.com.cn/share/share.php?appkey=1',u=z||d.location,p=['&url=',e(u),'&title=',e(t||d.title),'&source=',e(r),'&sourceUrl=',e(l),'&content=',c||'gb2312','&pic=',e(p||'')].join('');function%20a(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=440,height=430,left=',(s.width-440)/2,',top=',(s.height-430)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();})(screen,document,encodeURIComponent,'','','2','3','4','5'));\">分享至微博
其中总共有5个可配置参数:
1, 就是你申请的appkey,必须是真实可用的,也就是你注册的appkey
2, 传图片功能需要将您的图片服务器加入我们的白名单方可实现,可以联系方涛 3, 微博内容,如果没有就是当前页的title
4, 微博内容后面附属的url,如果没有就是当前页的url 5, 页面编码gb2312或者utf-8,为空时默认gb2312
7 / 10
http://t.sina.com.cn/
3.2.2. 如果您觉得a标签麻烦,可以使用以下方法
http://v.t.sina.com.cn/share/share.php?appkey=1&url=2&title=3&content=4&pic=5
具体说明是:
1, 就是你申请的appkey,必须是真实可用的,也就是你注册的appkey 2, 微博内容后面附属的url 3, 微博内容
4, 页面编码gb2312或者utf-8
5, 传图片功能需要将您的图片服务器加入我们的白名单方可实现,可以联系方涛 3.2.3. 视频合作网站url识别接口
如果您是一个视频网站,需要在微博上直接能播放您的视频,需要合作方提供一个接口,我们传入某一个视频url的地址(也就是分享时你们提供的url),合作方接口返回给我们视频缩略图和视频flash播放地址,可以参考:
http://img1.c3.letv.cn/mms/thumb/2008/10/22/32859f5e9de8b1aa6ccc9df75a3fe230_2.jpg
http://i7.imgs.letv.com/player/swfPlayer.swf?id=1234
http://www.letv.com/api/share_sina.php?url=http://www.letv.com/ptv/vplay/1234.html
具体合作方接口返回的格式是(XML数据):
说明,注意:
coverurl: 视频缩略图,120*90 flash: 视频Flash播放器地址 title: 分享时候附带的微博内容
注意将返回的页面的content-type设置成text/xml而不是text/html
8 / 10
http://t.sina.com.cn/
3.3. 什么是微博评论回推?
评论回推,是微博对合作网站的一种内容贡献方法,目前还不是最优解,只是小范围的试用了一部分合作伙伴。简介如下:
1,用户分享过您的网站某一个网页的链接时,我们会返回如下信息
·该用户分享的这条微博唯一标识MID ·该用户的唯一标识UID ·该用户分享的URL
2,合作网站可以定时通过api对这些微博的评论和转发进行跟踪,定时抓取评论,通过某一个帐号添加到合作网站的相应页面的评论或者回应中。
3,合作网站可以针对微博的这些数据进行分析,发现并挖掘出更有价值的自己网站的网页。
9 / 10
http://t.sina.com.cn/
4. 即时状态双发,微博同步展现
正如前文所提到的点评网,用户在点评网上的一些主要操作,都可以自动发表成他自己
的微博。相反的,如微博绑定开心网,用户发一条微博,也可以自动同步到开心网。 接下来针对这两个方向的同步方式分别说明:
4.1. 合作网站同步到微博
1,如前文所说,合作网站首先需要利用Oauth完成绑定微博和用微博帐号登录两个功能。 2,利用微博API的发表微博,发表图片的方法,合作网站可以将自己用户的行为同步发送到微博,API的相关方法请参见:
http://open.t.sina.com.cn/wiki/index.php/首页#.E5.BE.AE.E5.8D.9A.E8.AE.BF.E9.97.AE.E6.8E.A5.E5.8F.A3
4.2. 微博同步到合作网站
1,针对有一定知名度,有一定量用户的网站,我们会考虑采取目前微博和开心网绑定的流程进行合作,互惠互利。出于不能对用户进行干扰的目标,我们会酌情考虑是否在未绑定用户的首页中显示灰色的合作网站图标。
2,合作网站需要给出自己的帐号绑定和验证方法。可以根据开心网的流程进行参考。绑定过的用户,微博会用合作网站给出的发表内容接口将微博内容发给合作网站进行更新。
本文由 新浪微博PM 赖少甫(shaofu@staff.sina.com.cn) 编写 若您有任何不清楚的问题可以与我email联系
10 / 10