微博开放平台
微连接
移动应用
网站接入
电商服务商
电商商家
数据服务
数据服务
合作伙伴
微博支付
轻应用
粉丝服务
文档
推广
我的应用
登录
weibo
开发文档
首页
平台政策与指引
概述
平台公约
新手指南
开发者协议
应用运营管理规范
微连接分级管理办法
应用审核产品指南
应用安全开发注意事项
平台应用设计规范
微服务接入指南
微博登录接入
用微博帐号登录
授权机制
移动应用接入
移动应用介绍
移动应用SSO授权
微博Deep Link
媒体接入平台
头条文章开放接口
视频上传开放接口
电商接入平台
电商服务商接入
电商商家端接入
电商平台能力接口
粉丝服务平台
粉丝服务平台
新手接入指南
微信开发者迁移指南
接收消息
发送消息
自定义菜单
用户管理
生成带参数的二维码
Fans Service Platform
商业接口
商业数据接入指南
订阅服务手册(中文版)
订阅服务手册(英文版)
商业接口-REST API
商业数据常见问题
网站接入
网站接入介绍
微博API
微博API
接口访问频次权限
资源下载
SDK
微博标识下载
常见问题
联系我们
工具箱
链入页面
链出更改
特殊页面
查看源代码
跳转到:
导航
,
搜索
根据下列原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
=合作数据推送服务= <div class="wiki_txtJ"> 数据推送就是将微博上产生的公开内容,比如微博和评论,通过POST方式主动调用第三方接收接口,将数据推送(PUSH)给第三方的一种接入方式。这种接入方式适用于蓝V账号运营、智能服务账号等第三方开发者,可以将和第三方的微博账号有关的数据,传递给第三方进行运营或者智能处理。 例如,某蓝V账号,需要维护或回复用户发给自己的评论,则可以通过这种接入方式获取到这些评论,并结合回复评论接口,完成自己的账号运营。 又例如,某智能服务账号,可以针对其粉丝发布的微博内容进行智能分析或智能处理,则可以通过这种接入方式获取到这些微博,并结合发布评论接口、转发接口等方式,将智能理解后的信息发送给粉丝,完成智能服务。 </div> ==接入流程== <div class="wiki_txtJ"> 目前微博开放平台仅对特定的合作方开放此服务的接入,需要接入的合作方请联系微博商务人员进行合作洽谈。 </div> <div style="font-size:14px;line-height:30px;padding:0 16px;background-color:#EFF8FB;display:inline-block;color:#fff;">[https://open.weibo.com/cooperation/apply 合作数据推送服务接入申请]</div> ==第三方接收推送接口== <div style="margin:15px 0;"> 第三方接收数据推送服务推送过来的数据,需要有自己的服务器资源,并完成接收接口的开发。 </div> ===接收接口的配置与有效性验证=== <div style="margin:15px 0;"> 第三方配置接收接口,即填写URL和一个token,其中URL就是第三方接收接口的URL,而token将用作生成一个签名,该签名会和接口URL中包含的签名进行比对,从而让第三方可以验证请求的安全性。 在第三方提交接收接口配置时,会先通过一次校验来和微博服务器建立首次连接。具体来说:第三方配置接收接口的URL等信息后,微博推送服务器将发送POST请求到填写的URL上,POST请求携带四个参数: </div> {|width="100%" border="0" cellspacing="0" cellpadding="0" class="wiki_table" <html><colgroup></colgroup></html> !width="20%"|校验参数字段 !width="15%"|字段类型 !width="65%"|字段说明 |- |signature |string |加密签名,结合了第三方填写的token和请求中的timestamp,nonce参数。 |- |timestamp |string |时间戳。 |- |nonce |string |随机数。 |- |echostr |string |随机字符串。 |} <div style="margin:15px 0;"> 开发者收到请求后,首先通过加密后的signature参数来校验POST请求的真实性,如果确认此次POST请求来自微博开放平台服务器,原样返回echostr参数内容就可以成功建立首次连接,否则连接失败。 signature参数的加密规则为: 将开发者填写的token,和timestamp参数,nonce参数进行字典排序后,将三个参数字符串拼接成一个字符串进行sha1加密。 例如: </div> <div class="code_type">校验参数</div> <pre class="brush:php"> token = xyz123xyz //开发者填写接收接口URL时,一起填写的token,由开发者自己设定 timestamp = 1397022061823 nonce = 57155157 </pre> <div class="code_type">加密结果</div> <pre class="brush:php"> //拼接后的字符串为: 139702206182357155157xyz123xyz //sha1签名后的结果为: 90e4c22c90a58f26526c2dd5b6c56c8822edeaa1 //验证url有效性请求的样例为: http://yoururl?nonce=57155157×tamp=1397022061823&echostr=dnPdpTZz85&signature=90e4c22c90a58f26526c2dd5b6c56c8822edeaa1 </pre> <div style="margin:15px 0;"> 此时如果返回的是echostr的值(此样例中为dnPdpTZz85)则通过URL验证。 </div> <div class="code_type">PHP代码示例</div> <pre class="brush:php"> function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token= token; //开发者填写的token $tmpArr = array($appsecret, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } </pre> ==推送数据类型及数据说明== <div style="margin:15px 0;"> 推送数据,微博将以multipart/form-data的形式POST给第三方,目前支持4种数据类型:原创微博、转发微博、评论、回复评论。 具体的数据说明,签署并达成合作后,微博侧的对接人员会提供。 </div> {{#a:nobtns|noheading}} __NOTOC__
返回到
PublicPush
。
反馈
分享
顶部