微博粉丝平台开发最便捷的方法是从微信迁移过来,不过微博粉丝平台对此做了些改动。

以下引用自: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

微博粉丝平台开发全攻略相关推荐

  1. php微博互粉网站源代码,微博粉丝平台开发全攻略_PHP教程

    微博粉丝平台开发最便捷的方法是从微信迁移过来,不过微博粉丝平台对此做了些改动. 以下引用自:http://open.weibo.com/wiki/%E5%BE%AE%E4%BF%A1%E5%BC%80 ...

  2. 新手入门Chrome插件(扩展)开发全攻略

    [干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这 ...

  3. FPGA开发全攻略——概念篇

    原文链接: FPGA开发全攻略连载之一:FPGA为什么这么热? FPGA开发全攻略连载之二:为什么工程师要掌握FPGA开发知识? FPGA开发全攻略连载之三:FPGA基本知识与发展趋势(part1) ...

  4. FPGA开发全攻略——ISE基本操作

    原文链接: FPGA实战开发技巧(2) FPGA开发全攻略连载之十二:FPGA实战开发技巧(3) FPGA开发全攻略连载之十二:FPGA实战开发技巧(4) 5.2 如何进行FPGA设计早期系统规划 作 ...

  5. 【干货】Chrome插件(扩展)开发全攻略-转载

    [干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这 ...

  6. 【转】Chrome插件(扩展)开发全攻略

    [干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这 ...

  7. 【干货】Chrome插件(扩展)开发全攻略(转载)

    转载来源:https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html [干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近 ...

  8. FPGA开发全攻略—— 调试

    原文链接: FPGA开发全攻略连载之十三:FPGA实战开发技巧(12) 5.6 大规模设计的调试经验 在大规模设计的调试应该按照和设计理念相反的顺序,从底层测试,主要依靠ChipScope Pro 工 ...

  9. [绍棠] Scrapy+Flask+Mongodb+Swift开发全攻略

    Scrapy+Flask+Mongodb+Swift开发全攻略 先一一介绍一下上面4个东西.第一个叫做Scrapy的东西是用python写的爬虫框架. Flask是python写的一个非常有名的web ...

最新文章

  1. AttributeError: ‘FPDF‘ object has no attribute ‘unifontsubset‘
  2. Kotlin难点解析:extension和this指针
  3. ISO 5 Lecture for Micro-Macro Interactions
  4. mysql5.7命中率_MySQL5.7中 performance和sys schema中的监控参数解释(推荐)
  5. CALayers详解
  6. 深入理解Java 容器
  7. Linux基础命令---lp打印机命令
  8. 移动超级sim卡 无法下载卡_共迎未来无限可能!5G超级SIM卡亮相2019中国移动全球合作伙伴大会...
  9. Redis 查看key的有效时间
  10. linux部署was找不到8879端口,WAS8.0与IHS集群安装与配置指导手册
  11. svn安装使用以及各种问题解决
  12. 访问控制列表——ACL
  13. 给计算机新用户授权,AD管理之授权用户将计算机加入域的权限
  14. 精心为学弟学妹整理的 C语言/C++ 项目合集
  15. 计算机通信过程详解 与 arp欺骗
  16. 解决开发qq音乐singer-detail组件时子路由跳转失败问题
  17. 百度网盘是如何实现妙传的
  18. (5)Flink-并行度parallelism、插槽slot
  19. 撑起个人信息的“保护伞”:数据安全合规检测与防护
  20. WEGAME更新游戏显示连接服务器失败,wegame游戏无法更新怎么办 更新失败解决办法...

热门文章

  1. jQuery中的 ||
  2. K3Cloud开放数据模型
  3. [转]将input file的选择的文件清空
  4. python偏函数理解_Python中的偏函数
  5. 谷歌查询mysql,谷歌地图:使用mysql查询更新标记不起作用
  6. mysql连接查询(内联)_MySQL之连接查询
  7. python日志_python 日志模块
  8. 找零兑换(递归解法)
  9. Python机器学习:SVM006什么是核函数?
  10. 图像检索从入门到进阶