利用腾讯云服务器进行微校开放平台开发

逆熵柯里化
• 阅读 2497

推荐理由:

我们知道,腾讯微校是专注高校领域的公众号第三方平台,那么通过微校开放平台,开发者可以轻松的直接向上千万大学生提供服务;下面我推荐的这篇文章,就是帮助公众号运营者拓展开发的。希望对大家有所帮助。

以下为文章原文:

微校开放平台概述

腾讯微校是专注高校领域的公众号第三方平台,目前已接入公众号超过3万个,精准覆盖大学生超过2000万。通过微校开放平台,开发者可以轻松的直接向上千万大学生提供服务,公众号运营者也可以通过本文档来帮助拓展开发。

微校开放平台主要用于指导开发者如何借助微校提供的开放能力对已授权腾讯微校的公众号提供服务能力。具体公众平台接口调用规范和标准,请参照微信公众平台开发者文档。
需要向运营者提供应用配置页的应用,应在运营者开启应用时,将页面链接返回微校(具体可参见应用开启请求说明),微校会以iframe的形式加载到应用管理页面,无应用配置页的应用,微校会直接展示默认应用管理页面。

微校会为优秀的开发者提供一定奖励,同时,开发者也可以向微校申请技术优化指导、免费服务器等方面的支持。

服务器环境

腾讯云主机 Centos6.5 64bit (LAMP)

下面开始

登录微校开发平台,创建一个新的应用
利用腾讯云服务器进行微校开放平台开发

2.比如我们像上面那样,弄一个消息回复类应用
利用腾讯云服务器进行微校开放平台开发

3.填写相关信息,上传几张测试用图
利用腾讯云服务器进行微校开放平台开发

4.设置关键字 (我这里以“测试”为例,并且开启了模糊匹配)
填写wxtestopen.php地址
填写测试平台的原始id (如果不知道,可以看后面)
利用腾讯云服务器进行微校开放平台开发

5.在填写完确认提交后,就可以看到上面这些信息,其中ApiKey和ApiSecret 下面要用
利用腾讯云服务器进行微校开放平台开发

6.如上图修改wxtestopen.php中的ApiSecret
修改wxtestapi.php中的ApiKey和ApiSecret

利用腾讯云服务器进行微校开放平台开发

利用腾讯云服务器进行微校开放平台开发

7.修改完参数后,点击接口测试,如上图时就成功了。否则请检查你的参数是否修改
然后点击ApiSecret下面的应用测试地址,去开启应用
利用腾讯云服务器进行微校开放平台开发

8.如上图,依次点击开启应用和确认开启
利用腾讯云服务器进行微校开放平台开发

利用腾讯云服务器进行微校开放平台开发

利用腾讯云服务器进行微校开放平台开发

9.当看到如上图所示的时候,1都和我的一样,那么下面就可以去公众号测试了。
下面我们去公众号掌上江大和RalphLuo测试
利用腾讯云服务器进行微校开放平台开发

利用腾讯云服务器进行微校开放平台开发

利用腾讯云服务器进行微校开放平台开发

利用腾讯云服务器进行微校开放平台开发

至此,此次任务全部完成
下面讲解核心代码

open.php(用于来自微校的应用开启验证)
核心代码如下

if ($cal_sign == $sign) {
$interval = time() - $param_array['timestamp'];
if ($interval >= 0 && $interval < 10) {
$url = 'http://xxx.com/wxtest/wxtesta...';//响应地址
$token='wxtest'; //token设置
echo '{
"errcode":0,
"errmsg":"",
"token":"'.$token.'",
"url":"'.$url.'",
"config_url":"",
"custom":{
"response_type":1,
"response_data":[{
"title":"微校应用测试",
"picurl":""
}]
}
}';
}
}
api.php【用于响应用户发送的关键字】核心代码如下

//接收文本消息
private function receiveText($object)
{
$media_id=$object->ToUserName;//公众号原始id
$re=$this->getghname($media_id);
$ghname=$re['name']; //公众号的名称
switch ($object->Content)
{

    case "测试文字":
        $content = "这是个文本消息".$ghname;
        break;
//其他的类似
    default:
        $content = date("Y-m-d H:i:s",time())."\n技术支持 ".$ghname;
        break;
}
if(is_array($content)){
    if (isset($content[0]['PicUrl'])){
        $result = $this->transmitNews($object, $content);
    }else if (isset($content['MusicUrl'])){
        $result = $this->transmitMusic($object, $content);
    }
}else{
    $result = $this->transmitText($object, $content);
}
return $result;

}
微校获取公众号信息,签名算法等函数

function getghname($media_id){ //根据原始id(gh_id)获取公众号信息 ,返回的是数组
$apikey="xxx"; //应用apikey
$api_secret = 'yyy'; //应用api_secret
$time=time();
$noncestr=$this->createNonceStr();
$param_array=array(
'media_id'=>$media_id,
'api_key'=>$apikey,
'timestamp'=>$time,
'nonce_str'=>$noncestr,
);
$sign=$this->cal_sign($param_array,$api_secret);
$res=str_replace(array("(",")"),"",file_get_contents("http://weixiao.qq.com/common/get_media_infop?media_id=$media_id&api_key=$apikey&timestamp=$time&nonce_str=$noncestr&sign=$sign"));
$re = json_decode($res,true);
return $re;
}
function createNonceStr($length = 32) { //生成32位随机字符
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$str = "";
for ($i = 0; $i < $length; $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
return $str;
}
function cal_sign($param_array,$api_secret) { //校验信息
$names = array_keys($param_array);
sort($names, SORT_STRING);
$item_array = array();
foreach ($names as $name) {
$item_array[] = "{$name}={$param_array[$name]}";
}
$str = implode('&', $item_array) . '&key=' . $api_secret;
return strtoupper(md5($str));
}
在使用中,我们可以使用将公众号信息等数据存放到数据中,以便下次调用。
欢迎大家共同探讨!

文章出自腾讯云技术社区

(埋文字链 https://www.qcloud.com/commun...

推荐大家关注腾讯云技术社区微信公众号:QcloudCommunity
利用腾讯云服务器进行微校开放平台开发

点赞
收藏
评论区
推荐文章
Effective HPA:预测未来的弹性伸缩产品
作者胡启明,腾讯云专家工程师,专注Kubernetes、降本增效等云原生领域,Crane核心开发工程师,现负责成本优化开源项目Crane开源治理和弹性能力落地工作。余宇飞,腾讯云专家工程师,专注云原生可观测性、成本优化等领域,Crane核心开发者,现负责Crane资源预测、推荐落地、运营平台建设等相关工作。田奇,腾讯高级工程师,专注分布式资源管
微标题信公众号文章,阅读数,点赞数历史文章抓取
微标题信公众号文章,阅读数,点赞数历史文章抓取需求最近在做舆情与微信文章相关的数据抓取,发现微信公众号有些难点很难克服。市面上流行的数据抓取思路要么被腾讯封杀,要么操作难度大。解决方案搜狗微信无法采集历史,而且搜索也不按时间排序。获取的数据的价值不高,仅仅可以通过他获取公众号的biz。微信公众平台微信公
Jacquelyn38 Jacquelyn38
4年前
手写一个仿微信登录的nodejs程序
前言首先,我们看一下微信开放文档中的一张图:上面的一幅图中清楚地介绍了微信登录整个过程,下面对图上所示进行总结:一、二维码的获得1.用户打开登录网页后,登录网页后台根据微信OAuth2.0协议向微信开发平台请求授权登录,并传递事先在微信开发平台中审核通过的AppID和AppSecrect等参数;2.微信开发平台对AppID等参数进行验证,并向
Wesley13 Wesley13
3年前
TBOOX开源社区论坛开通
TBOOX开源工程专注于c的跨平台开发,如果大家对TBOOX的项目或者对c语言跨平台开发感兴趣可以加入TBOOX开源社区互相交流或者反馈意见。。社区论坛地址:http://www.tboox.org/forum:)本文分享自微信公众号TBOOX开源工程(tbooxos)。如有侵权,请联系support@
Wesley13 Wesley13
3年前
JAVA获取微信小程序openid和获取公众号openid,以及通过openid获取用户信息
一,首先说明下这个微信的openid  为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众
Wesley13 Wesley13
3年前
PHP微信小程序支付——签名错误
!(https://static.oschina.net/uploads/space/2018/0509/141657_Tqix_3477605.png)先分清几个概念:微信公众平台、微信开放平台、微信商户平台1.微信公众平台、微信开放平台、微信商户平台是三个不同的平台2.微信公众平台:用于公众号、小程序等等的设置平台,包括APPID、APP
Wesley13 Wesley13
3年前
Java微信公众平台开发
转自:http://www.cuiyongzhi.com/post/63.html之前发过一个【微信开发】系列性的文章,也引来了不少朋友观看和点评交流,可能我在写文章时有所疏忽,对部分文件给出的不是很完全所以导致部分同学在有些地方做开发的时候遇到了一些阻力,收到这些朋友同学们的咨询反馈之后我也做了一些反思和总结,其中一部分同学说少了GlobalConst
Wesley13 Wesley13
3年前
MySQL数据库的高可用性分析
推荐理由:我们知道存储数据的安全性和可靠性是生产数据库重点要思考的问题,海量的应用将数据存储在MySQL数据库中,那么如何保障MySQL高可用性了,下面我给大家推荐的这篇文章,主要分析了目前采用较多的保障MySQL可用性方案,希望对大家有所帮助。以下为文章原文:作者介绍:易固武,腾讯高级工程师,参与腾讯账号安全建设,腾讯数据仓库(
Stella981 Stella981
3年前
DevOps之软件配置协作化管理
转载本文需注明出处:EAII企业架构创新研究院,违者必究。如需加入微信群参与微课堂、架构设计与讨论直播请直接回复此公众号:“加群姓名公司职位微信号”。大家好,我是许二虎,现在负责新一代数字化企业云平台“ThePlatform”的各业务领域系统的设计和开发。很荣幸有这次机会和大家
京东小程序平台助力快送实现跨端 | 京东云技术团队
前言:京东小程序开放平台是由京东自主研发的开发者开放平台,类似于微信和支付宝的小程序开放平台,提供了丰富的开放能力和完整的小程序开发生命周期所需的功能。开发者可以轻松地使用开发者工具IDE进行开发、调试、预览和代码转换,并在控制台进行线上小程序发布、审核、
近屿智能 近屿智能
3个月前
大模型岗位火爆!近屿智能AIGC系列课,助你抢占AI高薪风口
不久前,腾讯微信公众号官宣启动“史上最大就业计划”,三年新增2.8万个实习岗位,2025年计划录用1万名校招实习生,其中60%面向技术类岗位。与此同时,腾讯混元公众号推出“青云计划”,聚焦大模型人才招募,开放五大类70岗位,并提供定制化培养机制。更诱人的