微信开发小结

做过好几次微信开发了;每一次都会遇到不同的坑,这一次只是总结一下教训,写给自己的,希望如果对你们有帮助的话,希望给个赞;


项目需求

项目原来是有php进行开发的,php内嵌html,这样是快速的开发了,但是,
对内部文件的保密性太差;这是改造项目的根本原因;
1:将后台改为java进行处理;但是因为前期前后人员进行任务划分的不明确
导致后期开发,遇到各种"坑";我们认为java可以处理用户的登陆问题;但是这一次,
确实没有成功;
2:对微信订阅号和微信服务号接口功能的认识不足,导致时间浪费;

1:微信公众号登陆和网页授权问题

首先,大家应该清楚,在进行微信公众号的时候,有的会提醒大家进行确认登录,但是有的公众号没有提醒,但是确实能够保存,大家之间进行操作的信息; 这是微信服务号给大家提供的两种网页授权方式; a:静默授权;当你进入公众号,但是没有提醒你确认等咯的时候,该服务号进行了静默授权; b:如果弹出了"确认登陆"的操作框的时候;是使用了微信的第二种授权方式; 个人总结:这两种的授权方式;是存在用户信息完整度的区别;不用说,大家也能知道;肯定是第二种授权方式,获取的用户信息更详细;这个需要根据不同的需求进行选择;

  • 1:接下来我要说的进行网页授权的过程;详细过程大家请参照微信开发文档;我在这里要写的就是我自己遇到的一些问题
    如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
    第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

我想在这说的就是redirect_uri参数的问题;先说一下这个链接吧,这个链接的根本目是获取code,要注意的问题就是appID,一定是服务号的appid,如果报scope没有权限,或者关于scope问题;就很有可能就是这个id的问题;这个id没有必需是这个功能要上的id,可以是另外一个服务号的ID;但是id和对应的应用秘钥还有安全域名接口对应的秘钥txt,文件一定要相对应,不能再不同的公众对应的项;


这个链接可以解释为;经过用户点击相应这个链接之后,微信会进行redirect_uri回调,并且会在携带code在回调链接的后面;所以相应的redirect_uri后面的链接地址就是我们要让微信指向的连接地址;其中,我处理的是对我们自己的连接地址进行encodeURIComponent("这里面放我们自己链接地址");函数处理;接下来按照卫星给的方式进行拼接;当成功进行连接回调的时候;这个时候尽可以进入第二步了;

  • 2:第二步:获取openid;
    通过code换取网页授权access_token 首先请注意,这里通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,<em>也获取到了openid</em>,snsapi_base式的网页授权流程即到此为止。

这个功能我们最后协商的结果是使用php进行openid的获取.java具体可不可以还真不知道,这个我会继续验证;

接下来只需要运行下面的代码进行了;当然相应的php依赖文件还是要引入的;这个在微信开发文档中,JS-SDK;中有关于php还有node的demo;直接拿来用就行;
php代码如下:
$code = $_GET['code'];//获取code $weixin= file_get_contents("[https://api.weixin.qq.com/sns/oauth2/access_token?appid=](https://api.weixin.qq.com/sns/oauth2/access_token?appid=)这里是你的APPID&secret=这里是你的SECRET&code=".$code."&grant_type=authorization_code");//通过code换取网页授权access_token $jsondecode = json_decode($weixin); //对JSON格式的字符串进行编码 $array = get_object_vars($jsondecode);//转换成数组 $openid = $array['openid'];//输出openid
然后接下来前端人员,要做的就是通过ajax,将openid传给后台;'<? php echo $openid;?>'

这是自己经历的;可能有错;希望能有所帮助;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容