微博粉丝平台开发全攻略
微博粉丝平台开发最便捷的方法是从微信迁移过来,不过微博粉丝平台对此做了些改动。
以下引用自:http://open.weibo.com/wiki/%E5%BE%AE%E4%BF%A1%E5%BC%80%E5%8F%91%E8%80%85%E8%BF%81%E7%A7%BB%E6%8C%87%E5%8D%97
微信开发者迁移指南
如果你在使用微博粉丝服务平台之前,已经做过微信公众平台的开发了,那么强烈推荐阅读本文档,了解迁移过程中需要注意的细节问题;
微博粉丝服务接口在设计之初就考虑到了微信开发者的迁移问题,所以迁移成本并不高;但是开发者仍然需要针对以下三个区别做一定适配:
区别一:申请消息接口时,微信填Token,微博填Appkey
在申请消息接口的时候,微博需要开发者填写URL和Appkey,而微信则是要求开发者填写URL和Token;
微信的Token是由开发者任意填写的字符,仅仅用于“验证URL有效性”使用;
而微博的Appkey则是由微博官方提供的,除了用于“验证URL有效性”,还用于代表开发者身份;
在“验证URL有效性”环节,开发者的Appkey所对应的AppSecret被用作生成signature签名;换句话说,微博的signature字段加密流程和微信基本是一样的,唯一的区别是微信加密用到的Token字段,微博是用AppSecret字段替代;
区别二:access_token生成方式不同,有效期也不同
微信的access_token获取方式是通过公众号的AppID和AppSecret调用相应接口来获取;
而微博的粉丝服务接口调用时的access_token凭证,是在 申请消息接口 是时候,验证URL成功后,粉服平台自动返回的(如下图);
另外,微博的粉丝服务接口的access_token凭证,还可以通过微博的OAuth2.0授权接口获取,不过这个目前在开发中,暂未上线;
关于有效期,微信的access_token的有效期是为7200秒,需要开发者不断去刷新; 但微博的粉丝服务接口的access_token凭证,有效期为一年,开发者可以一年之后再找蓝V账号重新绑定或者授权;
所以,我们对微信平台的代码稍加改动,便能很好的运用在微博了。
下面贴出源码:
<?php/*** Weibo 粉丝接口* @author caigen.li* @email it@exynoz.com* @date 2014-5-13 * 文档参考 * 1. http://open.weibo.com/wiki/%E5%BE%AE%E4%BF%A1%E5%BC%80%E5%8F%91%E8%80%85%E8%BF%81%E7%A7%BB%E6%8C%87%E5%8D%97* 2. http://open.weibo.com/wiki/%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81%E6%9C%8D%E5%8A%A1#.E6.B6.88.E6.81.AF.E6.8E.A8.E9.80.81.E6.9C.8D.E5.8A.A1.E6.A6.82.E8.BF.B0*/// APPKEY
define("TOKEN", "XXXXXXXXXXXXXXXXX");
// APPSECRET
define("SECRET","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
// access_token,验证url成功后在开发者页面显示
define("ACTOKEN","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");$wechatObj = new weiboChatApi();
$wechatObj->valid();class weiboChatApi
{public function valid(){$echoStr = $_GET["echostr"]; //valid signature , optionif($this->checkSignature()){echo $echoStr;exit;}}public function responseMsg(){//get post data, May be due to the different environments$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];//extract post dataif (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$fromUsername = $postObj->FromUserName;$toUsername = $postObj->ToUserName;$keyword = trim($postObj->Content);$time = time();$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>"; if(!empty( $keyword )){$msgType = "text";$contentStr = "Welcome to weibo world!";$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}else{echo "Input something...";}}else {echo "";exit;}}private function checkSignature(){$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"]; $token = SECRET; // 与微信不同,用APP_SECRET验证$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}
}?>
上文中提到的APPKEY和APPSECRET可在 http://open.weibo.com/apps 注册应用后获得。
----------------------------------------------------------------------------------------- good lunk!
转载于:https://www.cnblogs.com/leegtang/p/3725329.html
微博粉丝平台开发全攻略相关推荐
- php微博互粉网站源代码,微博粉丝平台开发全攻略_PHP教程
微博粉丝平台开发最便捷的方法是从微信迁移过来,不过微博粉丝平台对此做了些改动. 以下引用自:http://open.weibo.com/wiki/%E5%BE%AE%E4%BF%A1%E5%BC%80 ...
- 新手入门Chrome插件(扩展)开发全攻略
[干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这 ...
- FPGA开发全攻略——概念篇
原文链接: FPGA开发全攻略连载之一:FPGA为什么这么热? FPGA开发全攻略连载之二:为什么工程师要掌握FPGA开发知识? FPGA开发全攻略连载之三:FPGA基本知识与发展趋势(part1) ...
- FPGA开发全攻略——ISE基本操作
原文链接: FPGA实战开发技巧(2) FPGA开发全攻略连载之十二:FPGA实战开发技巧(3) FPGA开发全攻略连载之十二:FPGA实战开发技巧(4) 5.2 如何进行FPGA设计早期系统规划 作 ...
- 【干货】Chrome插件(扩展)开发全攻略-转载
[干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这 ...
- 【转】Chrome插件(扩展)开发全攻略
[干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这 ...
- 【干货】Chrome插件(扩展)开发全攻略(转载)
转载来源:https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html [干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近 ...
- FPGA开发全攻略—— 调试
原文链接: FPGA开发全攻略连载之十三:FPGA实战开发技巧(12) 5.6 大规模设计的调试经验 在大规模设计的调试应该按照和设计理念相反的顺序,从底层测试,主要依靠ChipScope Pro 工 ...
- [绍棠] Scrapy+Flask+Mongodb+Swift开发全攻略
Scrapy+Flask+Mongodb+Swift开发全攻略 先一一介绍一下上面4个东西.第一个叫做Scrapy的东西是用python写的爬虫框架. Flask是python写的一个非常有名的web ...
最新文章
- AttributeError: ‘FPDF‘ object has no attribute ‘unifontsubset‘
- Kotlin难点解析:extension和this指针
- ISO 5 Lecture for Micro-Macro Interactions
- mysql5.7命中率_MySQL5.7中 performance和sys schema中的监控参数解释(推荐)
- CALayers详解
- 深入理解Java 容器
- Linux基础命令---lp打印机命令
- 移动超级sim卡 无法下载卡_共迎未来无限可能!5G超级SIM卡亮相2019中国移动全球合作伙伴大会...
- Redis 查看key的有效时间
- linux部署was找不到8879端口,WAS8.0与IHS集群安装与配置指导手册
- svn安装使用以及各种问题解决
- 访问控制列表——ACL
- 给计算机新用户授权,AD管理之授权用户将计算机加入域的权限
- 精心为学弟学妹整理的 C语言/C++ 项目合集
- 计算机通信过程详解 与 arp欺骗
- 解决开发qq音乐singer-detail组件时子路由跳转失败问题
- 百度网盘是如何实现妙传的
- (5)Flink-并行度parallelism、插槽slot
- 撑起个人信息的“保护伞”:数据安全合规检测与防护
- WEGAME更新游戏显示连接服务器失败,wegame游戏无法更新怎么办 更新失败解决办法...