微博开放平台
微连接
移动应用
网站接入
电商服务商
电商商家
数据服务
数据服务
合作伙伴
微博支付
轻应用
粉丝服务
文档
推广
我的应用
登录
weibo
开发文档
首页
平台政策与指引
概述
平台公约
新手指南
开发者协议
应用运营管理规范
微连接分级管理办法
应用审核产品指南
应用安全开发注意事项
平台应用设计规范
微服务接入指南
微博登录接入
用微博帐号登录
授权机制
移动应用接入
移动应用介绍
移动应用SSO授权
微博Deep Link
媒体接入平台
头条文章开放接口
视频上传开放接口
电商接入平台
电商服务商接入
电商商家端接入
电商平台能力接口
粉丝服务平台
粉丝服务平台
新手接入指南
微信开发者迁移指南
接收消息
发送消息
自定义菜单
用户管理
生成带参数的二维码
Fans Service Platform
商业接口
商业数据接入指南
订阅服务手册(中文版)
订阅服务手册(英文版)
商业接口-REST API
商业数据常见问题
网站接入
网站接入介绍
微博API
微博API
接口访问频次权限
资源下载
SDK
微博标识下载
常见问题
联系我们
工具箱
链入页面
链出更改
特殊页面
查看源代码
跳转到:
导航
,
搜索
根据下列原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
=粉丝服务平台开发接口接入指南= 本指南文档可以指导你完成使用『粉丝服务平台开发模式』的主要步骤。 ==第一步:申请消息接口== 媒体、企业、个人认证帐号,在粉服平台网站,可点击进入『粉丝服务平台』高级功能,选择开启开发模式。 然后填写URL和APPKEY,其中URL是开发者用来接收微博消息服务器数据的接口URL。APPKEY为微博认证用户指定并授权要为其开发服务的开发者应用KEY,该APPKEY所对应的APP Secret,将用作生成签名(该签名会和接口URL中包含的签名进行比对,从而验证请求的安全性)。 <div style="text-align:center;"> <img src="http://www.sinaimg.cn/blog/developer/wiki/firstdevmodel.png" style="width:auto;border:3px solid #E5E5E5;"> </div> ==第二步:验证URL有效性== 在开发者首次使用事件推送服务时,需要先通过一次校验来和微博服务器建立首次连接,具体来说: 开发者提交信息后,微博消息服务器将发送GET请求到填写的URL上,GET请求携带四个参数: {| border="1" cellspacing="0" cellpadding="0" width="100%" class="parameters" style="border-color:#CCCCCC;" |- !width="15%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|校验参数字段 !width="10%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|字段类型 !width="75%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|字段说明 {{rdes_args|signature|string|微博加密签名,signature结合了开发者的appsecret、和请求中的timestamp参数,nonce参数}} {{rdes_args|timestamp|string|时间戳}} {{rdes_args|nonce|string|随机数}} {{rdes_args|echostr|string|随机字符串}} |} 开发者收到请求后,首先通过加密后的signature参数来校验GET请求的真实性,如果确认此次GET请求来自微博服务器,原样返回echostr参数内容就可以成功建立首次连接,否则连接失败。 signature参数的加密规则为: <div style="border-radius:3px;padding:10px 10px;background-color:#F8F8F8;border:1px solid #CCC;line-height:150%;"> 将开发者的appsecret,timestamp参数,nonce参数进行字典排序后,将三个参数字符串拼接成一个字符串进行sha1加密 '''校验参数:''' appsercret=xyz123xyz timestamp=1397022061823 nonce=57155157 '''加密结果:''' 拼接后的字符串为:139702206182357155157xyz123xyz sha1签名后的结果为:90e4c22c90a58f26526c2dd5b6c56c8822edeaa1 验证url有效性请求的样例为: http://yoururl?nonce=57155157×tamp=1397022061823&echostr=dnPdpTZz85&signature=90e4c22c90a58f26526c2dd5b6c56c8822edeaa1 此时如果返回的是echostr的值(此样例中为dnPdpTZz85)则通过url验证。 </div> PHP代码示例: <pre> function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $appsecret= appsecret; //开发者的appsecret $tmpArr = array($appsecret, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } </pre> php示例代码下载:[http://www.sinaimg.cn/blog/developer/wiki/xiaoxituisong_php_demo.rar 下载] java示例代码下载:[http://www.sinaimg.cn/blog/developer/wiki/xiaoxituisong_java_demo.rar 下载] ==第三步:成为开发者,获取access_token== 验证URL有效性成功后即接入生效,成为开发者,此后用户每次向微博认证帐号发送消息、或者产生自定义菜单点击事件时,响应URL将得到推送。 另外建立首次连接后,后续每次微博事件推送时也都会带上signature、timestamp、nonce三个参数,开发者依然可以通过对signature的校验判断此条消息的真实性,校验方式与首次建立连接一致,此外请注意,粉服平台开发接口只支持80接口。 验证URL成功后,粉服平台还会自动返回一个access_token,如下图所示: 开发者使用 [[接收消息|接收消息]] 和 [[发送被动响应消息|发送被动消息]] 功能并不需要access_token,但粉服开发模式的很多其他接口,如[[发送被动响应消息|发送被动响应消息]],调用时需要access_token参数作为凭证; <div style="text-align:center;"> <img src="http://www.sinaimg.cn/blog/developer/wiki/getaccesstoken2014.jpg" style="width:auto;border:3px solid #E5E5E5;"> </div> 关于access_token的更多介绍可以参见: <div style="font-size:14px;line-height:30px;padding:0 16px;background-color:#EFF8FB;display:inline-block;color:#fff;">[[Messages_api/access_token|获取粉丝服务平台开发接口的access token]]</div> ==附:长连接模式== 除了以上的<b>推送接入模式</b>外,我们还提供了额外的<b>长连接接入模式</b>。该模式除了接入的技术方法不同外,功能上都是完全一样的。 长连接模式的特点是,第三方开发者主动建立连接请求,长连接建立后,有新的消息事件将实时返回给第三方开发者,而不是被动等待微博消息服务器的GET请求,第三方开发者的控制自主性更强一点,但相应的开发难度也会大一些。 喜欢长连接模式的人,可以参见如下文档,进行接入: <div style="font-size:14px;line-height:30px;padding:0 16px;background-color:#EFF8FB;display:inline-block;color:#fff;">[[粉丝服务开发模式指南|粉服开发接口长连接接入指南]]</div> __NOTOC__
该页面使用的模板:
模板:Rdes args
(
查看源代码
)
返回到
Messages api start
。
反馈
分享
顶部