资讯专栏INFORMATION COLUMN

自建网站对接微信公众号

mylxsw / 2057人阅读

摘要:自建网站对接微信公众号微信公众号技术平常我们有些写各种网站个人博客系统物流管理系统通信录管理系统校园二手网站我们都知道只需要租用一个服务器再配置一个备案好的域名就可以在浏览器上进行访问了不知大家不知大家有没有想过将你搭的网站对接微信公众


title: 自建网站对接微信公众号
date: 2018-04-12 15:25
tags:

微信公众号,

PHP

codeigniter

categories: 技术
平常我们有些写各种网站, 个人博客系统, 物流管理系统, 通信录管理系统, 校园二手网站. 我们都知道, 只需要租用一个服务器, 再配置一个备案好的域名, 就可以在浏览器上进行访问了.
不知大家, 不知大家有没有想过, 将你搭的网站对接微信公众号, 利用微信这个大用户软件, 来为你引流呢?

| 本文环境 | 版本 |
| --- | --- |
| 操作系统 | Ubuntu 16.04.03 |
| 运行方式 | VMware虚拟机 |
| 编程语言 | PHP |
| 项目局域网地址 | http://192.168.253.1/audit |


Q: 你在搞笑吗? 不是直接在微信里面打开的吗?

A: 直接用微信打开是可以, 然后你在微信里面让用户再注册一个账号? 对于大部分不想麻烦的小伙伴来说, 他们会对此忘而却步. 其实微信是提供接口, 让你可以获取到微信的用户名,和用户头像的.
一般来说可以通过三种方式

使用通过的微信开放平台( 注意,不是微信公众平台)

使用认证过的订阅号.

使用认证过的服务号

以上方式都需要开发者认证或者微信认证
额, 那其实不是没认证就没得玩?
好吧, 实际是的确如此, 不过. 如果你真的只是想玩玩. 你可以去这儿. https://mp.weixin.qq.com/debu...

微信测试号
优点

拥有几乎所有接口,

以及享受局域网IP回调(意思就是说,可以支持局域网, 这是正式微信平台号所不具备的)

发送模板消息, 不用审核.

缺点

只支持最多100个用户

不能设置名称, 头像.

对于一些只是想玩玩, 或者小规模用户的是没有问题的.

跟我一起操作 登录
扫码登录就好了;
微信token
新建php文件(啥语言都可以,自行修改)
public function token()
    {
        $nonce = $_GET["nonce"];
        $token = "weixin";
        $timestamp = $_GET["timestamp"];
        $echostr = $_GET["echostr"];
        $signature = $_GET["signature"];
        //形成数组,然后按字典序排序
        $array = array();
        $array = array($nonce, $timestamp, $token);
        sort($array);
        //拼接成字符串,sha1加密 ,然后与signature进行校验
        $str = sha1(implode($array));
        if ($str == $signature && $echostr) {
            //第一次接入weixin api接口的时候
            echo $echostr;
            exit;
        }
    }
然后在测试号里填写路径和token, 认证成功后就可以继续操作了

TIP: 这个链接并不需要一直可访问,只需要第一次认证通过就OK, 甚至认证过可以直接删掉.
修改回调域名, 接口> 网页授权获取用户基本信息 > 修改

只有测试号支持ip
微信的接口

接口详情可在https://mp.weixin.qq.com/wiki...里查看

注意:

这些接口不是简单的对接就好了, 每次请求都需要携带access_token,

而获取access_token, 每天有获取上限.

access-token具有有效期(7200s) , 过期需要重新获取.

获取access_token的方法https://mp.weixin.qq.com/debu...

获取用户信息, 实现免登录的效果

在这儿我们需要三个接口
所用接口:
接口一: 
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
接口二:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
接口三:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
接口四: 刷新access_token
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

接口返回数据, 详见https://mp.weixin.qq.com/wiki...
第一步:用户同意授权,获取code
示例:( 注意appid, redirect_url是变量)

$str = "http://open.weixin.qq.com/connect/oauth2/authorize?appid=wx20874ebf2ea1fc7f&redirect_uri=" . urlencode("http://192.168.253.1/audit/client/") . "&response_type=code&scope=snsapi_base&state=123#wechat_redirect";

第二步:通过code换取网页授权access_token

示例
$data = json_decode(file_get_contents("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . $this->appid . "&secret=" . $this->secret . "&code=" . $_GET["code"] . "&grant_type=authorization_code"));
注意: 此处的access_token与上面的access_token不是同一个东西

第三步: 通过access_token换取userinfo

示例
$userInfo = json_decode(file_get_contents("https://api.weixin.qq.com/sns/userinfo?access_token=" . $data->access_token . "&openid=" . $data->openid . "&lang=zh_CN"));

刷新access_token, 如果需要

这是我画的一个请求过程图, 可以帮助理解

测试演示 1. 将授权url发给手机
非必需, 也可以在电脑上, 也可以写到公众号子菜单中点击进入.
2. 关注测试号
不然会这样

3. 关注后点击

测试号访问成功.
额, 关于后台代码原理就不讲了. 
类似于一个从微信服务器发来的表单, 登录进了系统, 然后再把这些数据存入数据库就好了.
正式号运行效果

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31986.html

相关文章

  • gravatar头像不显示?Gravatar头像的完美替代方案cravatar

    摘要:服务完全架设并运行在中国大陆境内,提供毫秒级的响应速度,也不需要再将头像缓存到本地了。另外,还可以尝试安装中国本土的发行版我目前用的主题支持头像,只需要在自定义获取头像地址中输入,即可调用头像。gravatar头像不显示?由于国内一直无法正常加载gravatar全球通用头像,严重拖慢WordPress的加载速度,另外一些新手可能也不知道如何申请头像。   近日,WP-China-Ye...

    youkede 评论0 收藏0
  • 从零开始建网,新手小白建必知的十大忠告

    摘要:对于从零开始建网站的新手,知道下面十大忠告,可以少走弯路,早日走上康庄大道。阿里云自助建站平台支持快速备案建一个手机网站手机网站具有让消费者随时随地随身访问的优势和方便快捷的不可取代的特点。对于从零开始建网站的新手,知道下面十大忠告,可以少走弯路,早日走上康庄大道。 1、一定要做网站规划方案   一个网站的成功与否与建站前的网站规划有着极为重要的关系。在建立网站前应明确建设网站的目的,确定网...

    0x584a 评论0 收藏0
  • #万圣节#SugarHosts:虚拟主机续费送8折优惠码,云服务器每续费一年送半年

    摘要:日前推出了欢乐万圣节续费大优惠活动,免费赠送一张折万圣节特殊续费优惠码,云服务器每续费一年赠送半年使用时间,活动有效期截止至年月日,有需要的可以围观一下是一家成立于年的英国建站主机销售商家,主营虚拟主机及服务器业务,有美国和香 日前sugarhosts推出了欢乐万圣节续费大优惠活动,免费赠送一张8折万圣节特殊续费优惠码,云服务器每续费一年赠送半年使用时间,活动有效期截止至2021年10...

    MRZYD 评论0 收藏0
  • 7个 HTML 面试题及回答策略

    摘要:接下来,我会检查每个页面以确保它使用有用的标签,包括标题标签。这个问题让面试官有机会了解潜在员工对工作难以胜任的部分。面试官可能需要考虑这种弱点对团队的影响。面试官可能会发现自己公司的计划与未来员工的职业目标是否保持一致。 翻译:疯狂的技术宅原文:https://www.indeed.com/hire/i... 本文首发微信公众号:jingchengyideng欢迎关注,每天都给你...

    Luosunce 评论0 收藏0

发表评论

0条评论

mylxsw

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<