自建网站对接微信公众号

news/2024/5/3 16:31:34/文章来源:https://blog.csdn.net/weixin_34253539/article/details/88860231

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

  • 微信公众号,
  • PHP
  • codeigniter

categories: 技术

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

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


2018-4-1523606408034.jpg

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

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

一般来说可以通过三种方式

  1. 使用通过的微信开放平台( 注意,不是微信公众平台)
  2. 使用认证过的订阅号.
  3. 使用认证过的服务号
以上方式都需要开发者认证或者微信认证

额, 那其实不是没认证就没得玩?

好吧, 实际是的确如此, 不过. 如果你真的只是想玩玩. 你可以去这儿. https://mp.weixin.qq.com/debu...

2018-4-1523712185351.jpg

微信测试号

优点

  • 拥有几乎所有接口,
  • 以及享受局域网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, 认证成功后就可以继续操作了

2018-4-1523713636476.jpg

TIP: 这个链接并不需要一直可访问,只需要第一次认证通过就OK, 甚至认证过可以直接删掉.

修改回调域名, 接口> 网页授权获取用户基本信息 > 修改

2018-4-1523781481068.jpg

只有测试号支持ip

微信的接口

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

注意:

  1. 这些接口不是简单的对接就好了, 每次请求都需要携带access_token,
  2. 而获取access_token, 每天有获取上限.
  3. access-token具有有效期(7200s) , 过期需要重新获取.

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

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

2018-4-1523714004736.jpg

在这儿我们需要三个接口

所用接口:

接口一:
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';

2018-4-1523714822433.jpg

第二步:通过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, 如果需要

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

enter description here

测试演示

1. 将授权url发给手机

非必需, 也可以在电脑上, 也可以写到公众号子菜单中点击进入.

2. 关注测试号

不然会这样

2018-4-1523781959421.jpg

3. 关注后点击

2018-4-1523782005232.jpg

2018-4-1523782015976.jpg

测试号访问成功.

额, 关于后台代码原理就不讲了.
类似于一个从微信服务器发来的表单, 登录进了系统, 然后再把这些数据存入数据库就好了.

正式号运行效果

2018-4-1523890856126.jpg

2018-4-1523890881266.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_754459.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用VS2012建立core2.1网站项目后引用Microsoft.AspNetCore.Session不了

用VS2012建立core2.1网站项目后引用Microsoft.AspNetCore.Session不了 做个.NET CORE的新项目,和往常一样,VS2017新建CORE项目(CORE2.1),NUGET引入session,结果引入不了,说什么版本不对应的&…

hwpfdocument 获取第一页内容_浅谈:网站文章内容页的SEO排名技巧!

优化SEO的目的是获取搜索引擎的流量,但是在SEO执行过程中需要逐步循环,确保了SEO方案的可行性和SEO过程的可控性。为了引流目的反推SEO流程,获得搜索引擎流量需要关键词排名,获得关键词排名必须首先保证网站的收录。思维浅析对于新…

《机器学习与数据科学(基于R的统计学习方法)》——2.9 从网站中抓取数据...

本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第2章,第2.9节,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众…

html怎么发布站点地图,新手如何掌握制作和提交网站地图?

网站地图作为根据网站的结构,框架,内容生成的导航网页文件。大多数人都知道网站地图对于提高用户体验有好处:它们为网站访问者指明方向,并帮助迷失的访问者找到他们想看的页面。那么什么是网站地图呢?在开始介绍网站地图的制作与…

利用dns解析来实现网站的负载均衡

当网站的访问量大了就会考虑负载均衡,这也是每一个架构师的基本功了,其基本地位就相当于相声里的说学逗唱,活好不好就看这个了 :)传统的负载均衡思路是单点的,不管你是硬件的还是软件的基本都是这样的原理对于一般的需求来说&…

给网站添加谷歌验证(我不是机器人)

2019独角兽企业重金招聘Python工程师标准>>> 1、去谷歌网站。(如果没有谷歌gmail,也许还要注册gmail并登陆) https://www.google.com/recaptcha/admin#list 2、注册要验证的网站。 Label中随意填写个标签。Choose the type of reCAPTCHA中选择验证类型。第一个是网站…

峰任策划:如何将网站推广做的更有效果

随着互联网的高速发展,互联网行业的竞争也是愈演愈烈。众多的中小企业也纷纷加入网络营销的行列中,建立起属于自家企业的网站,建立起以企业网站为核心的网络推广模式。那么如何来推广自己的网站,如何做好网站推广,目前…

十周后,62%的PHP网站将运行在一个不受支持的PHP版本上

根据W3Techs的统计数据,目前约有78.9%的网站使用PHP开发。\\但是,PHP 5.6.x的安全支持将在2018年12月31日正式停止,这标志着对古老的PHP 5.x分支版本的支持都将结束。\\也就是说,从明年开始,大约62&#xf…

你的网站会投放这样的广告么?

我震惊了,钱要赚,但为了公司名誉以及社会影响,就算是广告,能不能有个底线的啊?

无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)

《无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)》基本信息原书名:Bulletproof Web Design:Improving flexibility and protecting against worst-case scenarios with HTML5 and CSS3, Third Edition 原出版社: New …

电商网站中购物车功能模块完善

主要有两方面的问题: 1、登录状态下添加商品到购物车 此时购物车是对应一个用户,很简单,就是将商品的数据插入数据库中即可,但是如果读写频繁的时候,就存在压力问题,此时我们可以使用Redis担任读的部分功能…

thinkphp5项目--企业单车网站(八)(文章板块要点)(删除图片)

thinkphp5项目--企业单车网站(八)(文章板块要点)(删除图片) 项目地址 fry404006308/BicycleEnterpriseWebsite: Bicycle Enterprise Websitehttps://github.com/fry404006308/BicycleEnterpriseWebsite 一、…

云计算及其对您的SEO的影响

云计算及其对您的SEO的影响 互联网对商业世界的影响不容低估,经常使用“革命化”和“提升”等词语来描述当前的气候。过去三十年来,企业逐渐适应互联网,并在网上开展越来越多的业务。互联网技术的进步使得企业竞相跟上,以便他们能…

网站另类推广玩法心得

互联网营销,越来越多的个人或是企业希望通过网上营销将自己的产品或服务推广出去,但是这些站的具体运营呢,多数仅仅停留在把站做起来,而没有太好的推广手段,而如何有访问呢?人们首先想到的就是 SEO,因为通…

HTML易烊千玺网页,易烊千玺弟弟破世界纪录,被扒两天就被人打破,认证网站遭质疑...

近日,世界纪录认证WRCA网站宣布易烊千玺的弟弟易烊昱华成功创造了一个新的世界纪录。在今年八月,易烊昱华以1分50秒66的成绩完成了2个二阶魔方的还原,是世界上完成这个挑战的最小年龄纪录保持者。易烊千玺的亲弟弟虽然还只是一个素人&#xf…

服务器稳定性和seo有什么区别,服务器稳定性对seo有那些帮助

原标题:服务器稳定性对seo有那些帮助一、网站经常性打不开,流量损失大经过努力SEO优化之后,很多关键词都优化上来了,但是用户进来之后发现网站打不开,于是随手就关掉了,一个个精准的流量就这样白白损失掉了…

服务器做网站空间,服务器做网站空间

服务器做网站空间 内容精选换一换本节介绍使用华为云Web应用防火墙(Web Application Firewall,WAF)保护Web服务,且网站域名解析至中国大陆节点服务器的备案场景。如图1所示。① 企业将网站域名(www.example.com)添加至WAF控制台,接入WAF&…

网站攻防之CSRF和XSS跨站脚本攻击

进入正题之前,先扯一番:黑客本义并非某些人以为的利用网络干坏事的人,刚开始或者说现在的很多,黑客是以技术大牛的形式存在的,也就是在网络领域有一门专场的牛人。有些黑客不干坏事而是干好事,比如利用网站…

用Pelican+Github搭建个人博客网站

Title: 用PelicanGithub搭建个人博客网站 Date: 2017-06-4 19:13 Category: 技术博客 Modified: 2018-10-11 19:03 Tags: 博客网站 Slug: pelican-build-site Authors: Victor Lv Summary: 用PelicanGithub搭建个人博客网站 创建仓库 在github上创建一个username.github.io的…

如何在linux上运行asp网站,linux上搭建asp网站

1、需要安装一些依赖包yum –y updateyum -y install gcc gcc-c bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel2.centos6.5上(尽量不要去更改包的…