weixin 微信开放平台 微信公众平台
官网地址入口
微信小程序 https://mp.weixin.qq.com/
微信开发者社区: https://developers.weixin.qq.com/community/search?query=63002&page=1&block=1&random=1571284603034
appid and openid not match
1、appid :是公众号的ID。
2、openid:关注公众号生成的ID(注意:每关注一个公众号会生成一个不同的openid)
简单的实现微信获取openid==>https://blog.csdn.net/z880698223/article/details/78485243
微信小程序、微信公众号、H5之间相互跳转==>https://www.cnblogs.com/colorful-paopao1/p/8608609.html
微信开发者模式需要的网站Token验证
微信公众号开发者模式验证token验证失败==》https://blog.csdn.net/socrates_lee/article/details/79927355
订阅号和服务号的区别
http://www.360doc.com/content/17/1121/13/46339233_705835137.shtml
订阅号:为媒体和个人提供一种新的信息传播方式,主要功能是在微信侧给用户传达资讯;(功能类似报纸杂志,提供新闻信息或娱乐趣事)
订阅号不认证的弊端,如果个人类型的订阅号不认证的话,是不能在自定义菜单(公众号底部的那三个菜单)里加外部链接的,比如不能加商城链接,不能加H5页面链接,不能加签到以及各种活动链接都不能加,只能加自己公众号里面的文章链接,这样就少了很多粘粉和增粉的渠道了
from https://blog.csdn.net/wqbbt0415/article/details/78652853
除了政府或媒体类型的订阅号,其它的订阅号均是不能开通微信支付的,务必先升级为服务号。升级服务号的步骤为:(1)登录微信公众平台,在设置中找到公众号设置,点击类型,选择升为服务号,此时将会展现帐号区别的页面,点击下一步。(2)这时将提示确认是否置为服务号,确认的话就点击确认按钮。(3)在手机上登录申请微信公众平台的微信号,然后点击右上角的扫一扫,扫描页面上的二维码完成验证,并在手机上完成确认,就能完成升级。但注意,这之后还请完成微信认证,才能继续申请微信支付。
https://www.zhihu.com/question/21289814
微信公众号获取用户信息
微信公众号开发的测试账号配置==>https://blog.csdn.net/aikiller/article/details/79642712
$$$$$微信公众平台开发——微信授权登录(OAuth2.0)==>http://www.cnblogs.com/0201zcr/p/5131602.html
https://www.cnblogs.com/Xjng/p/3910511.html
微信网页授权==>https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
我的获取历史
单纯获取access_token,直接请求: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
首先来一份不怕死的前台直获取用户信息的样例
- 0. 请求-获取code
- https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx1bc19552cdf88ce0&redirect_uri=http%3a%2f%2fwww.rosellete.com%2fweixinoauth.php&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect
- 返回
- 081HSqIj23RIdG0dEuHj21U0Ij2HSqIC
- 2.1. 请求-用code获取access token
- https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx1bc19552cdf88ce0&secret=15e342bff2738aef8bbf6f70aebf4e78&code=081HSqIj23RIdG0dEuHj21U0Ij2HSqIC&grant_type=authorization_code
- 返回
- {"access_token":"14_0p4bbgwYGoyQh7TEBM8uL_H4mEkIMyhIj0isUOoSmAH7G38f4S43BH-4i4U-IU7qn2DdabeCEwF-ZqYmTkPvkI9_nntH95icxjAirT2CDK0","expires_in":,"refresh_token":"14_43T9kSE-FUiJ-fzaVBFK7RizZ358cHVP8_WslvvxkiA5E4Q7uyC4PAVDRdeoq1tlfED5KJ34wwOOeYQjmnKiA_u2Dzr7doESOV25Pqqf2cc","openid":"oUUmn1PwWsuVsYiNWl-nBTD4U8jY","scope":"snsapi_userinfo"}
- 2.2. 请求-用access token和 openid获取用户信息
- https://api.weixin.qq.com/sns/userinfo?access_token=14_0p4bbgwYGoyQh7TEBM8uL_H4mEkIMyhIj0isUOoSmAH7G38f4S43BH-4i4U-IU7qn2DdabeCEwF-ZqYmTkPvkI9_nntH95icxjAirT2CDK0&openid=oUUmn1PwWsuVsYiNWl-nBTD4U8jY
- 返回
- {"openid":"oUUmn1PwWsuVsYiNWl-nBTD4U8jY","nickname":"金墨痴","sex":,"language":"zh_CN","city":"Hangzhou","province":"Zhejiang","country":"CN","headimgurl":"http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/jMCUwXNfCJdycmAy7eItdFpSMFBZoQSDbrZZd7ic21smh8dJsNau1tjIPMHbmkqeK6hK70Skzfx20E2ZTT3ZBGQ\/132","privilege":[]}
其实公众号的appsecret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。
另外还有一种静默授权获取openid的方式,改scope=snsapi_base即可, 但发现偶尔会导致 openid获取不到.
在使用接口1请求的时候, redirect_url一定要匹配才行 : 接口权限表-->网页帐号-->网页授权获取用户基本信息-->修改-->授权回调页面域名-->输入合法域名(redirect_url对应), 不然会报错: redirect_uri域名与后台配置不一致,错误码:10003
所以为了安全起见(隐藏appsecret和access_token),一般通过后台获取openid后再回传给前台,请参考 https://www.cnblogs.com/whatlonelytear/articles/9914629.html
微信小程序获取用户信息
先在小程序主页使用console.log(res.code)获取登录后的code
- // 登录
- wx.login({
- success: res => {
- // 发送 res.code 到后台换取 openId, sessionKey, unionId
- console.log(res.code);
- }
- })
再把该code传到后台 , 后台获取openid时的地址和参数差异点:
- https://api.weixin.qq.com/sns/jscode2session?appid=wxf74eff0cc9034e59&secret=xxxxxxxxxxxxxx&js_code=0231fk1c0o8jby1Kt21c05cB1c01fk1x&grant_type=authorization_code
如果成功,返回报文类似如下
- {"session_key":"Fakeaf129xQDZ91NHh2ySw==","openid":"oXxsh5V4lv5EBA8wxODmYiGAb0P4","unionid":"FakeIxLRa7Xvcrsm-fb_1fise-As"}
如果错误,返回报文如下
- {"errcode":,"errmsg":"code been used, hints: [ req_id: IhMbvNLnRa-99zN2a ]"}
微信小程序-登录+支付(后台Java)Demo实战(环境搭建+源码)==>https://blog.csdn.net/proteen/article/details/80875670
unionid获取
https://developers.weixin.qq.com/minigame/dev/guide/open-ability/union-id.html
$$$$$小程序:授权、登录、session_key、unionId==>https://blog.csdn.net/qq_33594380/article/details/80431582
微信公众号UnionId机制==>https://www.cnblogs.com/yhnx/p/9268164.html
微信小程序获取用户unionId==>https://www.cnblogs.com/Ph-one/p/12156192.html
- 获取unionid的前提是,你的小程序或者公众号是有绑定开发者账号的微信开放平台,在此前提下:
- 通过用户授权可以获取到unionid;
- 同主体的公众号关注后,可以直接获取;
- 同主体公众号,用户已经授权过该公众号,可以直接获取;
- 小程序支付成功后可获取;
- 云函数的调用与2,3点类似;
- 分场景分析,如果用户是没有关注过公众号的(非取关用户),且没有授权/登录过公众号的话,是拿不到的。 (希望可以解答你的疑问)
本小段引用自 用户没有关注公众号是否能获取到UnionId ?==>https://developers.weixin.qq.com/community/develop/doc/000a420bbe82f0a24229ec36456c00 李健明7.2
微信小程序支付流程
微信小程序支付流程==>https://www.cnblogs.com/lightmusic/p/11820432.html
微信沙箱支付流程
亲身经历之微信支付沙箱环境扫码支付遇到的那些坑==>https://www.cnblogs.com/zhaojingwei/p/11262101.html
微信内置浏览器禁止缓存的问题
解决方案1:
调试阶段或者频繁更新的页面加入以下头信息:
- <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
- <meta http-equiv="Pragma" content="no-cache" />
- <meta http-equiv="Expires" content="0" />
解决方案2:
更新文件的时候,在引用css,js等文件的语句上加上一个版本号,就能有效防止浏览器一直使用缓存中的css,js
- <link href="css/demo.css?v=201606131149" rel="stylesheet">
解决方案3
防止页面被缓存的方法,在URL后面添加随机参数,这样每次访问的都是不同的连接
- window.location='xxx.html?_r='+Math.random();
参考自: 微信内置浏览器禁止缓存的问题==>https://blog.csdn.net/qq_23502409/article/details/78958847
vue开发在微信跳转同一页面问题
我自己遇到的现象是, 为了获取openid, VUE和微信一起使用的时候 , 如果用微信从A页面跳转到同一A页面 (不管用a标签还是location跳转), 就算在地址后加时间戳防缓存也没用, VUE的create生命周期内的方法不会再次执行 , 这个时候要考虑怎么合理地把created生命周期中的方法内容移到其它可生效的地方.
假如我有使用vue搭建的index.html页面
- created () {
- var v = 取参数;
- alert("?号后面参数"+v);
- },
比如我扫二维码进入到http://www.abc.com/index.html, 然后通过该页面,再次用js window.location到以下页面https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx1bc19552cdf88ce0&redirect_uri=http%3a%2f%2fwww.abc.com%2findex.php%3fv%3d156489123232&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect, 这个时候微信帮我们重定向回了同一个页面http://www.abc.com/index.php?v=156489123232, 然而这个时候问题来了vue发现还是同一个地址,就不再执行create生命周期的方法了, 所只虽然跳转到了同一个地址, 但是alert却只执行了一次.
另外如果改动好,发完版,还是需要让已经访问过的手机在微信右上角点开刷新面板,多刷新几下.
直接跳转到公众号链接
- https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU5MTMzMDcwNw==#wechat_redirect
(参考)
小程序的业务域名和服务器域名的区别
服务器域名是 wx.request 请求 去拉取数据的域名。 一般返回为JSON字符串
业务域名是小程序的webview组件要引入的其他H5地址的URL的域名或者网页里面的iframe的域名
微信小程序配置合法域名和业务域名==>https://www.cnblogs.com/xubao/p/11982626.html
支付页面问题汇总
小程序中使用webview获取地图定位
微信小程序与H5内嵌网页交互实现地图定位功能==>https://blog.csdn.net/kerelee_li/article/details/82587338
错误编码
errorCode 480001
其它问题
扫描二维码没有关注时跳转至关注界面==》https://blog.csdn.net/qq_33696345/article/details/80533067
其它参考
微信小程序获取用户openid (Nodejs)==>https://www.cnblogs.com/Aaron-Lee/p/11374651.html
小程序设置二维码官方文档
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html 其他相关文档 微信小程序 生成携带参数的二维码==>https://www.jb51.net/article/172585.htm
审核经历
公众号,小程序管理员在审核时用的都是微信管理员在电脑上的本地开发环境在审核, 所以为了发布线上环境, 请注意代码全局配置时使用的 "开发版","线上版"等请求地址是否符合标准.
跳转问题
微信小程序、微信公众号、H5之间能相互跳转==>https://blog.csdn.net/qq_35430000/article/details/99676421
其它
微信红包封面开放平台使用指南==>https://blog.csdn.net/GeekQ/article/details/103913731
weixin 微信开放平台 微信公众平台的更多相关文章
- Java微信公众平台开发(十一)--开发中微信公众平台/开放平台/商户平台的关联
转自:http://www.cuiyongzhi.com/post/55.html 微信公众平台(map.weixin.qq.com)/开放平台(open.weixin.qq.com)/商户平台(pa ...
- 【小程序】基于.NET CORE2.1 的 微信开放平台 第三方平台开发 教程一 准备工作
微信第三方平台概述 公众平台第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台(并且可以同时授权给多家第三方),通过第三方平台来完成业务,开放给所有通过开发者资质认 ...
- 微信开放平台PC端扫码登录功能个人总结
最近公司给我安排一个微信登录的功能,需求是这样的: 1.登录授权 点击二维码图标后,登录界面切换为如下样式(二维码),微信扫描二维码并授权,即可成功登录: 若当前账号未绑定微信账号,扫描后提示“ ...
- 微信公众平台开发详细步骤与java代码
1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 微信公众平台地址:https://mp.weixin.qq.com ...
- ios应用接入微信开放平台
前几天试了一下服务端接入微信公众平台,昨天又看了一下APP接入开放平台 开放平台和公众平台的差别 公众平台针对的是公众账号,除了提供管理后台之外.也开放了若干接口,让微信server和开发人员自己的应 ...
- 微信公众平台开发-access_token获取及应用(含源码)
微信公众平台开发-access_token获取及应用(含源码)作者: 孟祥磊-<微信公众平台开发实例教程> 很多系统中都有access_token参数,对于微信公众平台的access_to ...
- 微信公众号开发C#系列-2、微信公众平台接入指南
概述 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理程序中,首先 ...
- 微信开放平台 redirect_uri参数错误
微信开放平台 redirect_uri参数错误 请注意是开放平台开放平台,公众平台和开放平台不是同一个. 解决办法 在写 授权回调域 时,地址只用写到域名级,不能写到域名下一级,这和QQ互联的回调 ...
- 微信公众平台开发2-access_token获取及应用(含源码)
微信公众平台开发-access_token获取及应用(含源码) 很多系统中都有access_token参数,对于微信公众平台的access_token参数,微信服务器判断该公众平台所拥有的权限,允许或 ...
- 自制公众平台Web Api(微信)
最近一段时间感觉没什么东西可以分享给大家,又由于手上项目比较赶,不太更新博客了,今天趁着生病闲下来的时间分享一些项目中的东西给大家. 公众平台 提起公众平台当下最流行的莫过于腾讯的微信了,当然还有易信 ...
随机推荐
- Hibernate-HQL-Criteria-查询优化
1 查询总结 oid查询-get 对象属性导航查询 HQL Criteria 原生SQL 2 查询-HQL语法 2.1 基础语法 2.2 进阶语法 排序 条件 分页 聚合 投影 多表查询 SQL HQ ...
- 中国剩余定理CRT(孙子定理)
中国剩余定理 给出以下的一元线性同余方程组: $\Large(s):\left\{\begin{aligned}x\equiv a_1\ (mod\ m_1)\\x\equiv a_2\ (mod\ ...
- Nonsense Time
Nonsense Time 时间限制: 10 Sec 内存限制: 128 MB 题目描述 You a given a permutation p1,p2,…,pn of size n. Initia ...
- 扫描线矩形周长的并 POJ1177
//扫描线矩形周长的并 POJ1177 // 我是按x轴 #include <iostream> #include <cstdio> #include <cstdlib& ...
- istio1.1(openshift) 流量路由
1.准备测试应用 准备两个nginx Pod和一个proxy 创建应用 apiVersion: apps.openshift.io/v1 kind: DeploymentConfig metadata ...
- Gym - 102163M
Gym - 102163M https://vjudge.net/problem/2356949/origin取对数,然后特判特殊情况,就是0的那些情况 #include<iostream> ...
- consul理解
假设consul软件安装在电脑ComputerA上,那么需要注册的服务ServiceA1也需要安装在电脑ComputerA上, 一个服务就是一个提供了ip+port(或者域名)的应用程序. 服务: 服 ...
- Redis源码解析:28集群(四)手动故障转移、从节点迁移
一:手动故障转移 Redis集群支持手动故障转移.也就是向从节点发送"CLUSTER FAILOVER"命令,使其在主节点未下线的情况下,发起故障转移流程,升级为新的主节点,而原 ...
- 使用pdf.js在移动端预览pdf文档
pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持. 在线演示地址:http://mozilla.github.com/pdf.js/web/viewe ...
- Hibernate中的Query
//1:创建query对象,方法里面写hql语句 Query query = session.createQuery("from User"); //2:利用query对象中的方法 ...