企业微信-前往服务商后台页面对接解决方案

news2024/9/20 16:12:51

  1. 我会告诉你在哪里点
  2. 我会告诉你在哪里配置
  3. 点下去他只返回auth_code的,我怎么登录

正文

他是在这个位置

是这样,应用授权安装第三方应用后,企业微信(管理员角色)是可以从pc端企业后台点第三方应用的。

如果我没记错(昨天搞的,今天来写的笔记),服务商后台我们开发的地方是配置这个域名(他也可以带后缀,比如www.***.com/***/***,他其实可以是路径)

如果!你点了这个路径后,他问你是否跳转某某第三方应用

你点击跳转,他是有这个路径(企业微信审核员也是通过这个入口点的你的应用)

这个路径上她只有auth_code 这个东西,

乍一看,就跟我们之前获取永久授权链接那个预授权码很像,但是这么用哦!!!!!!!

我只能跟你说思路(雪狼是node搞的后端)

我贴一段代码,你先理解下,

因为和之前安装完获取永久授权码同一个页面,所以我做了判断,之前获取永久授权码是会传state然后返回state,而现在这个只返回auth_code

(上面这个看不懂不碍事!!!!!!!!)

重点操作步骤

一、先获取suite_access_token

官方文档=》获取第三方应用凭证 - 接口文档 - 企业微信开发者中心

async accessTokenFun1(){
		let m = this,
			{app} = m;
		await m.getTextData()
		const result = await app.curl('https://qyapi.weixin.qq.com/cgi-bin/service/get_suite_token', {
			method: 'POST',
			data: {
				"suite_id":this.SuiteID ,
				"suite_secret":this.Secret, 
				"suite_ticket": this.suite_ticket
			},
			contentType: 'json',
			dataType: 'json',
		});
		m.suite_access_token=result.data.suite_access_token;
		await m.get_login_info();
	}

二、获取登录用户信息

官方文档=》单点登录 - 接口文档 - 企业微信开发者中心

请求参数

参数是否必须说明
access_token授权登录服务商的网站时,使用应用提供商的provider_access_token,获取方法参见服务商的凭证
auth_code

oauth2.0授权企业微信管理员登录产生的code,最长为512字节。只能使用一次,5分钟未被使用自动过期

返回参数

参数说明
errcode返回码
errmsg对返回码的文本描述内容
usertype登录用户的类型:1.创建者 2.内部系统管理员 3.外部系统管理员 4.分级管理员 5.成员
user_info登录用户的信息
userid登录用户的userid,登录用户在通讯录中时返回
name登录用户的名字,登录用户在通讯录中时返回
avatar登录用户的头像,登录用户在通讯录中时返回
corp_info授权方企业信息
corpid授权方企业id
agent该管理员在该提供商中能使用的应用列表,当登录用户为管理员时返回
agentid应用id
auth_type该管理员对应用的权限:1.管理权限,0.使用权限
auth_info该管理员拥有的通讯录权限,当登录用户为管理员时返回
async get_login_info(){
		let m = this,
			{app} = m;
			
		const result = await app.curl('https://qyapi.weixin.qq.com/cgi-bin/service/get_login_info?access_token='+m.suite_access_token, {
			method: 'POST',
			data: {
				auth_code:m.auth_code
			},
			contentType: 'json',
			dataType: 'json',
		});
		// '{"usertype":2,"user_info":{"userid":"wo1eBuCAAAN9P5UumQKc9DL3R3CIQ4tA","name":"wo1eBuCAAAN9P5UumQKc9DL3R3CIQ4tA","avatar":"https://rescdn.qqmail.com/node/wwmng/wwmng/style/images/independent/DefaultAvatar$73ba92b5.png","open_userid":"wo1eBuCAAAN9P5UumQKc9DL3R3CIQ4tA"},"corp_info":{"corpid":"wp1eBuCAAAEsRaNo_Lw9fOJtmxoZWekQ"},"agent":[{"agentid":1000044,"auth_type":1}],"auth_info":{"department":[{"id":1,"writable":true}]}}'
		if(m.textData.corpid==result.data.corp_info.corpid){//判断公司是不是同
			m.ctx.body = {
			    code:200,
			    data:{
					permanent_code:m.textData.permanent_code,
					corpid:m.textData.corpid,
				},
			    msg:"查询成功",
			};
		}
		//拿到公司id
		
	} 

其实node就是js语法,后端看前端 的代码应该很容易理解。

当初你安装应用后,获取的永久授权、企业id、那些要存起来,

思路是这样的,

获取用户信息(所属企业corpid)=》去数据库里找之前获取永久授权时候存的企业id对比,然后对对应这个企业的永久授权码返回给前端,=》前端有永久授权码、企业id 就可以进行其他接口的请求

下面是废话

我知道企业微信这里坑很多,但是我也不清楚35岁的我还能做多久这行多久,只能说,能帮一个是一个吧。哪天我超过一个月没更新博客了,希望大家莫怪。

 扩展阅读

1、node配置企业微信回调配置HttpGet教程
2、node配置企业微信回调配置HttpPost
3、iconfont变黑色和引入两个iconfont的解决方案(图文教程)
4、vue3渲染函数加入自定义指令(图文教程)
5、vue3自定义指令(图文教程)
6、ai生成表情包赚米(图文教程)
7、uni-app 小程序主包、分包优化方案
8、小程序手机号授权登录(图文教程)
9、短信验证码收不到-解决方案
10、vue3ts的透传$attrs用法
11、vue3 清空/重置reactive
12、vite打包可视化工具rollup-plugin-visualizer图文教程
13、vue3 h函数使用图文教程
14、抖音跳微信小程序(抖音分享卡片和链接)图文教程
15、pinia 持久化插件pinia-plugin-persistedstate 安装、使用(图文详解)
16、uni-app 生成安卓证书
17、uniapp小程序限制微信群访问(图文教程)
18、前端常见4种缓存方式(图文教程)
19、es6~es13 新增数组遍历一览
20、禁debugger调试网页,禁F12(完整教程)
21、常用的19个正则-表单验证
22、报错状态码 200 300 400 500
23、周公解梦功能(附数据)
24、node开发微信群聊机器人第⑮章
25、node开发微信群聊机器人第⑭章
26、node开发微信群聊机器人第⑬章
27、Linux安装node18完整图文教程
28、VMware虚拟机、linux安装图文教程
29、我把微信群聊机器人项目开源
30、node开发微信群聊机器人第⑫章
31、node开发微信群聊机器人第⑪章
32、node开发微信群聊机器人第⑩章
33、node开发微信群聊机器人第⑨章
34、node开发微信群聊机器人第⑧章
35、node开发微信群聊机器人第⑦章
36、node开发微信群聊机器人第⑥章
37、公众号涨粉攻略(阳谋)
38、公众号涨粉攻略(阴谋)
39、node开发微信群聊机器人第⑤章
40、node开发微信群聊机器人第④章
41、node开发微信群聊机器人第③章
42、用node开发微信群聊机器人第②章
43、用node开发微信群聊机器人第①章

雪狼原创表情包

1、【我很凶】微信表情 - 来自微信表情商店,扫二维码下载表情

2、【程序员雪狼】微信表情 - 来自微信表情商店,扫二维码下载表情

3、【web前端雪狼】微信表情 - 来自微信表情商店,扫二维码下载表情

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【余弦相似度】

余弦相似度 又称为余弦距离,利用两个向量之间的夹角的余弦值来衡量两个向量的余弦相似度,两个向量夹角越小,余弦值越接近1。 向量模(向量长度)计算方法: n维向量的相似度计算: 余弦相似度的取…

黑盒测试 | 挖掘.NET程序中的反序列化漏洞

通过不安全反序列化漏洞远程执行代码 img 今天,我将回顾 OWASP 的十大漏洞之一:不安全反序列化,重点是 .NET 应用程序上反序列化漏洞的利用。 📝$ _序列化_与_反序列化 序列化是将数据对象转换为字节流的过程,字节流…

Entity更新坐标不闪烁需采用setCallbackPositions方法赋值

问题描述: 1.new mars3d.graphic.PolygonEntity({在更新点位高度模拟水面上身的时候,会存在闪烁 2.当把addDemoGraphic4添加到图层后,addDemoGraphic1水位变化不闪烁,把addDemoGraphic4注释后,addDemoGraphic1闪烁。…

UI自动化测试的边界怎么定义?

标题:定义UI自动化测试的边界:从0到1的详细指南 引言: UI自动化测试是现代软件开发过程中至关重要的一环。为了确保自动化测试的有效性和准确性,我们需要明确定义测试的边界。本文将从0到1为您提供一篇详细且规范的指南&#xf…

基于YOLOv8/YOLOv9/YOLOv10的河道漂浮物检测识别系统

摘要: 河道漂浮物检测识别是指利用技术手段自动识别河流、湖泊等水体表面的漂浮垃圾或物体的过程。随着环境保护意识的增强和技术的进步,河道漂浮物检测已经成为水环境保护和管理的重要组成部分。这项技术的应用可以帮助及时发现污染源,采取措…

一些线上常用排查问题的命令

排查CPU过高时使用到的一些命令 top free df top命令 top 命令是一个动态的实时视图,显示系统的整体运行状况,包括 CPU 使用率、内存使用情况、进程信息等。 free 命令 free 命令用于显示系统中物理内存和交换内存的使用情况。 df 命令 df 命令用…

纯前端表格导出Excel

先写好两个js文件 直接复制粘贴 文件目录是这样的 Bolb.js /* eslint-disable */ /* Blob.js* A Blob implementation.* 2014-05-27** By Eli Grey, http://eligrey.com* By Devin Samarin, https://github.com/eboyjr* License: X11/MIT* See LICENSE.md*//*global self, …

Vuex 入门与实战

引言 Vuex 是 Vue.js 官方推荐的状态管理库,它可以帮助我们更好地管理 Vue 应用的状态。在大型应用中,组件之间的状态共享和通信是一个非常重要的问题,而 Vuex 提供了一种优雅的解决方案。 在 Vue 应用中,数据的流动一般是单向的…

PCA贡献率

什么是 PCA? PCA(Principal Component Analysis, 主成分分析)是一种常用的数据降维技术。它通过找到一组新的互不相关的正交轴(主成分),将高维数据映射到低维空间。这些新轴是按照数据的方差大小排列的&am…

让Tkinter更美观:教你同步Tkinter窗口与弹窗图标(Tkinter同步主窗口与Messagebox的图标)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 步骤1:主窗口图标📝 步骤2:messagebox 图标📝 示例代码📝 实现原理与代码解释⚓️ 相关链接 ⚓️📖 介绍 📖 你有没有注意到,在开发软件图形界面时,会需要弹出一些提示框,而这些提示框的图标总…

阿里国际发布最新版多模态大模型Ovis,拿下开源第一

看一眼菜品图就知道怎么做、能给植物看病、能把手写英文准确翻译成中文、还能精准分析财报数据……多模态能力再次升级!阿里国际AI团队发布了一款多模态大模型Ovis,在图像理解任务上不断突破极限,多种具体的子类任务中均达到了SOTA&#xff0…

【Linux】-----进程第一弹

目录 概念 描述进程-PCB 查看进程 获取进程标识符 终止进程 fork创建进程 返回值说明 进程的状态 ①运行状态(R) ②浅度睡眠(S) ③深度睡眠(D) ④暂停状态(T) ⑤僵尸状态(Z)(重点) 是什么? 举例 危害 孤儿进程 ⑥死亡状态(X) 概念 课本上对于进程…

如何保护电脑文件夹?多种方法保护数据安全

在数字化时代,电脑中的文件夹往往存储着我们最私密、最重要的数据,如个人文档、照片、工作资料等。因此,保护这些文件夹免受未经授权的访问、盗窃或损坏变得尤为重要。本文将介绍多种方法来有效保护电脑文件夹及其数据安全。 文件夹保护3000 …

MySQL中的比较条件

符号!也能够表示不等于条件。 示例一:查询employees表中员工薪水大于等于3000的员工的姓名与薪水。 select l ast_name,salary from employees where salary > 3000; 示例二:查询employees表中员工薪水不等于5000的员工的姓名与薪水。 select las…

人工智能在肿瘤浸润淋巴细胞研究中的最新进展|文献速递·24-09-20

小罗碎碎念 文献速递|目录 一、胆道癌治疗应答的新型AI生物标志物:肿瘤浸润性淋巴细胞的空间分布 补充文献:22年发表于JCO的一篇类似文献 二、生物标志物在肝细胞癌管理中的作用:从发现到临床应用 三、肿瘤样本中免疫细胞浸润水…

C语言进阶【5】---数据在内存中的存储【2】(小数存储很难吗?)

本章概述 本章引要练习 浮点数的存储浮点数的取出小补充题目解析彩蛋时刻!!! 本章引要 常见的浮点数:3.1415,1E10等。其中,1E10是科学计数法的形式,它也就等于1*10^10。小数数据类型&#xff1…

块匹配算法简介(上)

图像中的运动估计方法大致分为两类:光流法和块匹配算法(BMA,Block Matching Algorithm)。本文将介绍BMA的相关内容,包括基本原理、相似度计算准则与常见的几种搜索方法,如三步法、四步法、钻石搜索法等。 1. 背景 视频中相邻帧往往存在大量的相似内容,即只有局部的一些…

【CustomPainter】渐变圆环

说明 实现一个渐变圆环,起点位置为- π / 2。 效果 源码 GradientCircularPainter1 class GradientCircularPainter1 extends CustomPainter {final double progress;GradientCircularPainter1(this.progress);overridevoid paint(Canvas canvas, Size size) {c…

零基础到项目实战:Node.js版Selenium WebDriver教程

在当今数字化时代,Web应用程序的质量和性能至关重要。为了确保这些应用的可靠性,自动化测试成为一种不可或缺的工具。Selenium,作为自动化测试领域的瑰宝,为我们提供了无限可能。本教程将深入介绍Selenium,以及如何结合…

如何删除EXCELL文件中的空行?

1,选择某一列 2,点击《开始》《查找和选择》>《定位条件》,调出《定位条件》的选择框; 3,在定位条件选项框,选择《空值》; 4,找到变灰被选中的某一行,右击《删除》 5&…