实现微信公众号跳转登录外部链接

提示:微信公众平台开发文档:​​​​​​微信公众平台开发概述 | 微信开放文档 (qq.com)​​​​​​

目录

前言

一、通过与菜单栏产生交互事件 ,返回需要跳转的url图文信息

二、使用微信的网页授权机制

1.静默授权和非静默授权

2.静默授权和非静默授权结合实现登录的逻辑

三、微信相关工具包

前言

这两天有这样的一个业务功能需要处理,从微信公众号的菜单栏跳转登录到我们的业务页面,经过查找各方资料,实现了这一功能,在这里说一下我自己总结的东西。


提示:以下是本篇文章正文内容,下面案例可供参考

一、通过与菜单栏产生交互事件 ,返回需要跳转的url图文信息

我们可以将需要点击跳转的菜单按钮设置为click类型,通过点击菜单,产生click交互事件,后端处理交互的信息后,可以拿到一系列参数:appId、openId,如果需要unionId可以利用微信提供的UnionID机制。(详情见开发文档>用户管理>获取用户基本信息(UnionID机制)

这里只提供大概参考:

GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

 这里的access_token需要从配置中或者在其他位置上(具体看相关信息的存放位置)拿到appId和appsecret,其实appId在我们在进行交互的时候已经可以拿到,这里我们只需要拿到appsecret就ok了

GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

  

拿到需要的用户信息之后,使用图文消息的方式进行消息推送(微信开发文档>基础消息能力>被动回复用户消息>回复图文消息)。

  

这里是图文消息推送的相关参数信息,我们需要将url设置为我们需要跳转的登录链接或者其他链接,并且可以带上我们需要的相关参数。

二、使用微信的网页授权机制

微信提供了两种授权登录机制(微信开发文档>微信网页开发>网页授权)

微信的授权机制主要分为4步

第一步:用户同意授权,获取code

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

第三步:刷新access_token(如果需要)

第四步:拉取用户信息(需 scope 为 snsapi_userinfo)

1.静默授权和非静默授权

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

此为第一步获取code的请求地址,静默授权和非静默授权的区别在于scope的参数不同。

scope为snsapi_base的为静默授权。

scope为snsapi_userinfo的为非静默授权。

用业务逻辑来理解,两者的区别在于静默授权不会出现有确认弹窗,即用户无感知授权,但是此授权到第二步就停止了,只能获取到微信用户的openId,以及授权的access_token。

不过既然拿到了openId,如果再能拿到appId和secret我们就能如同上边一样,利用微信的UnionID机制,拿到其他信息?这种做法在授权登录的场景可能会有问题,不建议,我只是在登录之后进行用户绑定的时候用了。注意:通过code换取的token与UnionID机制所需要的token不同,详细说明见微信开发文档。

接下来就是非静默授权,我们可以通过非静默授权,到第四步拿到微信用户的所有信息,进而满足相关的业务需求。

2.静默授权和非静默授权结合实现登录的逻辑

1、首先进行静默授权,通过前端提供的code拿到openId进而实现相关的判断逻辑

        ture:自动登录(结束) false:继续进行第二步

2、当我们没有查询到该用户的信息时,执行登录逻辑,前端提供给我们非静默授权的code,后端以此换取token后拿到用户信息进行处理

三、微信相关工具包

       在查找资料的过程中,也发现了一个实现微信相关功能的项目,因为需求暂时没有用到,所以没有研究,这里给大家放出来:

项目文档:公众号开发文档 · Wechat-Group/WxJava Wiki · GitHub

项目示例地址:GitHub - binarywang/weixin-java-mp-demo: 基于Spring Boot 和 WxJava 实现的微信公众号Java后端Demo,支持多公众号

pom包引入 

<properties><!-- more --><!-- WeChat --><weixin-java-mp.version>3.4.0</weixin-java-mp.version></properties><dependencies><!-- more --><!-- WeChatQrCode --><dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-mp</artifactId><version>${weixin-java-mp.version}</version></dependency></dependencies>

具体参考项目开发文档或者项目示例

相关文章推荐:WxJava微信公众号开发实战_baobao555#的博客-CSDN博客_wxjava

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

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

相关文章

通过链接打开公众号的方法

业务场景&#xff1a; 用户在完成某些业务后&#xff0c;可以快的跳转到公众号,引导客户关注 步骤&#xff1a; 1.在电脑上打开公众号->公众号主页 2.公众号查看历史消息&#xff0c;右键用默认浏览器打开 3.取出链接中的__biz参数 4.最后一步&#xff1a;将第3步…

Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching 论文精读

Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching 论文链接&#xff1a;[2305.13310] Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching (arxiv.org) 代码链接&#xff1a;aim-uofa/Matcher: Matcher: Segment Anyt…

从GPT到ChatGPT:我们离那个理想的AI时代到底还有多远?

写在前面 在2023年新年伊始&#xff0c;科技界最为爆火一款产品无疑是OpenAI公司出品的ChatGPT了&#xff0c;作为一名NLP领域从业者&#xff0c;似乎也好久没有看到如此热闹的技术出圈场景了。诚然从现象来看&#xff0c;无论从效果惊艳度、社会效应、商业价值、科技发展方向…

论文精读:Ansor: Generating High-Performance Tensor Programs for Deep Learning

文章目录 1. Abstract2. Introduction3. Background4. Design Overview5. Program Sampling5.1 Sketch Generation5.2 Random Annotation 6. Performance Fine-tuning6.1 Evolutionary Search6.2 Learned Cost Model 7. Task Scheduler7.1 Problem Formulation7.2 Optimizing w…

研0开始如何读论文

1. 学习别人的方法 论文导读&#xff1a;如何快速掌握一个新的科研方向&#xff1f;一个新手应该怎么读论文&#xff1f; - 知乎 论文导读&#xff1a;如何高效读论文&#xff1f; (zhihu.com) 吴恩达&#xff1a;关于机器学习职业生涯以及阅读论文的一些建议https://www.yo…

论文阅读辅助利器-Zotero-GPT

前言 首先&#xff0c;什么是Zotero&#xff1f;它能做什么&#xff1f;我们来问下ChatGPT Zotero是一款开源的、免费的文献管理工具。它旨在帮助研究人员、学生和学术界的人们更好地管理和组织他们的研究文献、引用和参考资料。 Zotero 支持Windows、MacOS、Linux、iOS等多个…

GLM-130B-一个开放的双语通用预训练模型-论文精读

本文为作为类ChatGPT的模型ChatGLM的前期基础论文2《AN OPEN BILINGUAL PRE-TRAINED MODEL》的精读笔记&#xff0c;基础论文1的精读笔记请见《GLM论文精读-自回归填空的通用语言模型》。希望对大家有帮助&#xff0c;欢迎讨论交流。GLM-130B&#xff0c;主要思想概述&#xff…

【跟李牧学AI】 ChatGPT是什么?--先看看InstructGPT

最近OpenAI公司的ChatGPT非常火爆&#xff0c;虽然正式的论文还没有发布&#xff0c;但是按照OpenAI一贯的工作思路&#xff0c;基于前期工作进行相应的改造&#xff0c;我们可以跟着沐神一起来看看InstructGPT&#xff0c;也算法对了解ChatGPT有个前期的知识储备。 instructG…

李沐论文精度系列之十:GPT-4

文章目录 一、AIGC资讯速览1.1 Toolformer&#xff08;2023.2.9&#xff09;1.2 ChatGPT plugin1.3 LLaMA&#xff08;2023.2.24&#xff09;1.4 Visual ChatGPT&#xff08;2023.3.8&#xff09;1.5 GigaGAN&#xff08;2023.3.9&#xff09;1.6 Stanford Alpaca&#xff08;2…

ViT论文逐段精读【论文精读】-跟李沐学AI

视频链接&#xff1a;ViT论文逐段精读【论文精读】_哔哩哔哩_bilibili ViT&#xff1a;过去一年&#xff0c;CV 最有影响力的工作 推翻了 2012 Alexnet 提出的 CNN 在 CV 的统治地位 有足够多的预训练数据&#xff0c;NLP 的 Transformer 搬运到 CV&#xff0c;效果很好 打…

血条加载!百度地图上线复苏指数;Quora推出问答机器人;腾讯绝悟成功用于医疗诊断;使用chatGPT生成推文;GitHub AI项目精选 | ShowMeAI资讯日报

&#x1f440;日报合辑 | &#x1f3a1;AI应用与工具大全 | &#x1f514;公众号资料下载 | &#x1f369;韩信子 &#x1f4e2; 『百度地图 复苏指数』用大数据吹起人间烟火 随着疫情防控措施的调整优化&#xff0c;市民的出行和消费需求逐步回暖&#xff0c;各大城市日渐复…

火爆全网的[ChatGPT] ai studio可以玩啦

☆ 只需两步&#xff0c; Ai Studio上也可以玩[ChatGPT]了 ☆ 无需账号即可体验喽~ 【一定要选择最新版本的项目嗷&#xff01;官方接口更新太快&#xff01;】 据说诱导式可以得到匪夷所思的结果&#xff01; 图源网络&#xff0c;仅供娱乐 0 Fork后进入项目 应用中心体验…

终于来了,OpenAI发布iOS版ChatGPT,支持语音提问

OpenAI发布了ChatGPT的iPhone版本&#xff0c;并承诺未来将发布安卓版本。 该软件免费使用&#xff0c;目前仅支持英语&#xff0c;在美国可以通过苹果商店下载后&#xff0c;在iOS操作系统的设备上使用&#xff0c;用户可以输入问题并接收来自聊天机器人(16.310, -0.34, -2.0…

爆火的ChatGPT,如何能打造一个属于自己的ai客服小程序

简单了解一下这个系统&#xff1a; 小程序中访问也比较方便安全&#xff0c;目前做的人还比较多&#xff0c;大家赶紧上车。 再次提醒风口项目不能犹豫&#xff0c;等你缓过神来&#xff0c;人家已经赚得盆满钵满了&#xff0c;但也不要头脑一热就搞&#xff0c;根据自己的资…

ChatGPT入门案例|张量流商务智能客服

本篇介绍了序列-序列机制和张量流的基本概念,基于中文语料库说明基于循环神经网络的语言翻译的实战应用。 01、序列-序列机制 序列-序列机制概述 序列-序列(Sequence To Sequence,Seq2Seq)是一个编码器-解码器 (Encoder-Decoder Mechanism)结构的神经网络,输入是序列(…

ChatGPT详聊IT服务台,AI可以取代人工么?

近期ChatGPT火爆出圈&#xff0c;在被更多人熟知的过程中&#xff0c;大家也提出了“未来AI是否会取代自身职位”的疑问。 那么&#xff0c;IT服务台的工作&#xff0c;未来会被人工智能取代吗&#xff1f; ⬇️以下内容均由ChatGPT输出⬇️ >IT服务台是怎么运营的< …

【基于ChatGPT+SpringBoot】打造智能聊天AI机器人接口并上线至服务器

&#x1f680; ChatGPT是最近很热门的AI智能聊天机器人 &#x1f680; 本文使用SpringBootOpenAI的官方API接口&#xff0c;自己实现一个可以返回对话数据的接口并上线服务器 &#x1f680; 用途方面相比于普通的聊天AI更加的广泛&#xff0c;甚至可以帮助你改BUG&#xff0c;写…

基于ChatGPT的私人助理机器人开发实战

你是否曾希望有一位私人助理来帮助管理知识或根据你的文档回答问题&#xff1f; 随着 OpenAI 最近发布的 GPT 3.5 系列 API&#xff0c;现在可以根据自己的数据构建自己的问答聊天机器人。 在本文中&#xff0c;我们将探讨如何使用 llama-index 和 GPT API 高效地构建文档问答…

AI 已死?不,AIGC 给我们带来了新的希望

爆款频出的 AIGC&#xff0c;2023 年能否延续热度&#xff1f; 文 | 刘雨洁、王与桐 编辑 | 石亚琼 封面来源&#xff5c;IC photo 2022 年的热门词汇有什么&#xff1f;AIGC 当之无愧位列其中&#xff0c;甚至将名列前茅。 从 5 月的 Disco Diffusion 和 DALLE2 引起的 AI 作画…

超导百年:物理学“圣杯”是如何诞生的?

最近科技圈流传的大新闻&#xff0c;大家都知道了吧&#xff1f; 简单来说&#xff0c;美国物理学会的三月会议上&#xff0c;来自罗彻斯特大学的Ranga Dias宣布&#xff0c;他们团队在近环境压强下实现了室温超导。 这个消息在中文互联网流传之后&#xff0c;很快就有了详细的…