浙政钉扫一扫获取用户信息

1 篇文章 0 订阅
订阅专栏

浙政钉的开发文档和专有钉钉一样:但想通过浙政钉扫一扫需向发浙政钉起申请获取应用信息

这里以专有钉钉为例

1.首先先注册一个专有钉钉账户

专有钉钉开放平台开发文档:https://dg-work.cn/

在这里插入图片描述
根据提示完成注册

2.在我的应用下创建应用信息
在这里插入图片描述
这里有App Key 和 App Secret
在这里插入图片描述
回调地址是可以访问到你后台方法的路径
在这里插入图片描述

开始编写程序

1.页面部分:下面iframe中的应用标识和回到地址改成自己对应的信息,post地址改成自己后端的访问地址

作用:生成二维码,获取临时code

<!DOCTYPE html>
<html>
  <head>
    <title>ddQRcode.html</title>
	
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">
    
  </head>
  
  <body style="text-align:center ">
    <iframe style="border: medium none;" width="365" height="400" src="https://login-pro.ding.zj.gov.cn/oauth2/auth.htm?response_type=code&client_id=应用标识&redirect_uri=回调地址&scope=get_user_info&authType=QRCODE&embedMode=true"></iframe>
    
    <script src="../js/jquery-1.11.2.min.js"></script>
    <script type="application/javascript">
	    window.addEventListener('message', function(event) {
	        // 这里的event.data 就是登录成功的信息
	        // 数据格式:{ "code": "aaaa", "state": "bbbb" }
	        $.post("../zzdscan/getUserInfo",{"code":JSON.stringify(event.data)},function(res){
	        	if(res.success==true){
	        		var name = res.content.data.lastName;
	        		window.location.href="./main.html?name="+encodeURIComponent(name); 
	        	}
	        });
	    });
	</script>
  </body>
</html>

2.java controller类下:替换******号内的内容

作用:获取access_token,通过code和access_token获取用户信息

package com.jtj.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.xxpt.gateway.shared.client.http.ExecutableClient;
import com.alibaba.xxpt.gateway.shared.client.http.PostClient;

import net.sf.json.JSONObject;

@Controller
@RequestMapping("/zzdscan")
public class zzdController {

	private static ExecutableClient executableClient;

    static {
        executableClient =ExecutableClient.getInstance();
        //DomainName不同环境对应不同域名,示例为sass域名
        //浙政钉域名:openplatform-pro.ding.zj.gov.cn
        executableClient.setDomainName("openplatform.dg-work.cn");
        executableClient.setProtocal("https");
        //应用App Key
        executableClient.setAccessKey("******");
        //应用App Secret
        executableClient.setSecretKey("******");
        executableClient.init();
    }
	
	@RequestMapping(value = "/getUserInfo",produces = {"application/json;charset=UTF-8"})
	@ResponseBody
	public String getUserInfo(String code) {
		JSONObject StringCode  = JSONObject.fromObject(code);
		String codeStr = (String) StringCode.get("code");
		
	    String access_token= getToken();
		
	    String api ="/rpc/oauth2/getuserinfo_bycode.json";
		PostClient postClient = executableClient.newPostClient(api);
		//设置参数
		postClient.addParameter("code", codeStr);
		postClient.addParameter("access_token", access_token);
		//调用API
		String apiResult = postClient.post();
		System.out.println(apiResult);
		
		return apiResult;
	}
	
	public static String getToken() {
		String api ="/gettoken.json";
    	PostClient postClient = executableClient.newPostClient(api);
    	//设置参数
    	postClient.addParameter("appkey", "******");
    	postClient.addParameter("appsecret", "");
    	//调用API
    	String apiResult = postClient.post();
    	//将字符串转为json对象
    	JSONObject jsonObj  = JSONObject.fromObject(apiResult);
    	JSONObject jsonObject1 = jsonObj.getJSONObject("content");
    	JSONObject jsonObject2 = jsonObject1.getJSONObject("data");
		String access_token = (String) jsonObject2.get("accessToken");
		return access_token;
	}
}

pom.xml 下对应maven包:自行提取有缺失根据控制台提示自行添加

<dependencies>
    <!--spring-boot mybatis依赖-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </dependency>
    
	<dependency>
	    <groupId>org.springframework</groupId>
	    <artifactId>spring-webmvc</artifactId>
	    <version>5.2.9.RELEASE</version>
	</dependency>
    
    <!--添加tk-mapper依赖-->
    <dependency>
	  <groupId>tk.mybatis</groupId>
	  <artifactId>mapper</artifactId>
	  <version>3.3.6</version>
	</dependency>

	<!-- alibaba的Druid(德鲁伊)数据源 -->
	<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.26</version>
    </dependency>
    
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>javax.servlet-api</artifactId>
	    <version>3.1.0</version>
	    <scope>provided</scope>
	</dependency>
	
	<!-- sqlserver jdbc -->
    <dependency>
	  <groupId>com.microsoft.sqlserver</groupId>
	  <artifactId>sqljdbc4</artifactId>
	  <version>4.0</version>
	</dependency>
	
	<!-- Document  Elements -->
	<dependency>
      <groupId>org.jsoup</groupId>
      <artifactId>jsoup</artifactId>
      <version>1.13.1</version>
    </dependency>
    
    <!-- @ResponseBody注解进行返回Response封装类 -->
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-databind</artifactId>
		<version>2.9.5</version>
	</dependency>
	<dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.9.5</version>
	</dependency>
	
	<dependency>
	    <groupId>org.apache.httpcomponents</groupId>
	    <artifactId>httpclient</artifactId>
	    <version>4.5.13</version>
	</dependency>
	
	<dependency>
	  <groupId>joda-time</groupId>
	  <artifactId>joda-time</artifactId>
	  <version>2.10</version>
	</dependency>
	
	<dependency>
	    <groupId>org.apache.commons</groupId>
	    <artifactId>commons-lang3</artifactId>
	    <version>3.7</version>
	</dependency>
	
	<!-- JSONObject对象依赖的jar包 开始 -->
	<dependency>
		<groupId>commons-beanutils</groupId>
		<artifactId>commons-beanutils</artifactId>
		<version>1.9.3</version>
	</dependency>
	<dependency>
		<groupId>commons-collections</groupId>
		<artifactId>commons-collections</artifactId>
		<version>3.2.1</version>
	</dependency>
	<dependency>
		<groupId>commons-lang</groupId>
		<artifactId>commons-lang</artifactId>
		<version>2.6</version>
	</dependency>
	<dependency>
		<groupId>commons-logging</groupId>
		<artifactId>commons-logging</artifactId>
		<version>1.1.1</version>
	</dependency>
	<dependency>
		<groupId>net.sf.ezmorph</groupId>
		<artifactId>ezmorph</artifactId>
		<version>1.0.6</version>
	</dependency>
	<dependency>
		<groupId>net.sf.json-lib</groupId>
		<artifactId>json-lib</artifactId>
		<version>2.2.3</version>
		<classifier>jdk15</classifier>
		<!-- jdk版本 -->
	</dependency>
	<!-- Json依赖架包下载结束 -->
	
  </dependencies>

这里是宁波浙政钉信息申请地址https://yida-pro.ding.zj.gov.cn/alibaba/web/APP_XG44H7NA6ZV5K05ZZ8RE/inst/homepage/#/

想找自己地区的自行联系客服小姐姐

到这里基本上就完成了。希望对你有所帮助。

微信公众号实现获取微信用户信息(网页授权)
10-17
刚开始接触微信的时候一头雾水,领导想要一个获取微信用户信息的功能,接下来通过本文给大家分享微信公众号实现获取微信用户信息(网页授权),需要的朋友可以参考下
查看员工UserID
lxw1844912514的博客
07-14 4981
https://oa.dingtalk.com/contacts.htm#/contacts?_k=k119su这个UserID貌似是系统自动生成的?添加员工后,自动生成了。 如何设置员工的UserID-帮助中心您好,通讯录管理员添加员工时,可以自行设置UserID,如果UserID没有设定的话,系统会自动生成。UserID是员工在企业的唯一标识,一旦生成不支持修改。员工离开该企业,重新加入时UserID值可能会发生变化。注意:员工的UserID目前仅支持企业通讯录管理员查看,员工自己无法查看。管理
专有获取用户信息
huaweichenai的博客
06-29 2917
最近有个项目用到了专有,这里记录下使用专有获取用户信息流程 一:流程 1:获取用户的免登授权码 2:根据免登授权码获取用户信息 二:获取用户信息 1:获取用户免登录授权码 使用js获取用户的免登录授权码 ...
通过码登录第三方网站详细步骤
m0_68318951的博客
03-29 1080
码登录
专有 前端 对接流程(小程序)
热门推荐
qq_44766377的博客
10-25 2万+
本文参考: uni-app配置小程序步骤 - 喜欢美食的利亚 - 博客园1.创建项目 2.在项目根目录配置或者新建package.json文件,配置代码 { "uni-app": { "scripts": { "mp-dihttps://www.cnblogs.com/wly08/p/14511648.html 一.首先你得有一个 专有的账号 叫你们公司的开放平台的管理员给你注册一个你的账号,你再去拿着你的注册的手机号和你的姓名去激活(注册成功会发短信提醒你)在短信链接里面去下载专有
WEB应用获取用户信息
BUG指挥课堂
04-21 1040
1、页面展示二维码,根据配置信息获取。 开发文档中的第二种实现方式,将登陆二维码嵌入自有项目的页面中 @RequestMapping("getAppId") @ResponseBody public WebResponse getAppId() throws Exception { try { Map res = new HashMap(); //应用标识(自定义) r...
C#实现简单获取码枪信息代码
09-01
本文给大家分享的是使用C#实现简单获取码枪信息代码,非常的简单实用,有需要的小伙伴可以参考下。
二维码手机,读取二维码信息
08-18
读取二维码信息
vue2 获取二维码内容
07-28
获取二维码内容获取二维码内容获取二维码内容获取二维码内容获取二维码内容获取二维码内容获取二维码内容获取...
Android获取结果
08-08
Android二维码,获取二维码结果代码,解压可直接使用。
setuptools-40.7.3-py2.py3-none-any.whl
05-14
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Centos7-离线安装redis
05-14
Centos7-离线安装redis
setuptools-39.0.1-py2.py3-none-any.whl
05-14
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
基于JSP实现的在线仓库管理系统源码.zip
05-14
这个是一个JSP实现的在线仓库管理系统,管理员角色包含以下功能:仓库管理员登录,货品&类别信息管理,采购信息管理,出库和入库管理,财务信息管理,管理员管理等功能。 本项目实现的最终作用是基于JSP实现的在线仓库管理系统 分为1个角色 第1个角色为管理员角色,实现了如下功能: - 仓库管理员登录 - 出库和入库管理 - 管理员管理 - 财务信息管理 - 货品&类别信息管理 - 采购信息管理
基于springboot的房屋租赁系统
05-14
开发语言:Java JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.6/5.7(或8.0) 数据库工具:Navicat 开发软件:idea 依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行 2.需要远程帮忙部署项目,需要额外付费 3.本项目有演示视频,如果需要观看,请联系我v:19306446185 4.调试过程中可帮忙安装IDEA,eclipse,MySQL,JDK,Tomcat等软件 重点: 需要其他Java源码联系我,更多源码任你选,你想要的源码我都有! https://img-blog.csdnimg.cn/direct/e73dc0ac8d27434b86d886db5a438c71.jpeg
setuptools-12.0.2-py2.py3-none-any.whl
05-14
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
备自投tp.pptx
05-14
备自投tp.pptx
setuptools-36.2.1-py2.py3-none-any.whl
最新发布
05-14
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
uniapp获取信息
09-09
你可以在uni.scanCode的success回调函数中获取描得到的信息。以下是一个简单的示例代码: ```javascript uni.scanCode({ success: function(res) { // 码成功,res.result为描得到的内容 console.log...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 浙政钉扫一扫获取用户信息 6214
  • 过滤器java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 4018
  • Mapper(tk.mybatis.mapper.common.Mapper)对应的maven地址 1978
  • maven安装与配置 1846
  • 标签上设置了required属性submit提交时,如果内容为空,则不允许提交 1240

分类专栏

  • 问题 8篇
  • 插件 3篇
  • 软件安装 1篇
  • SSM 3篇
  • 第三方接口 1篇
  • 环境配置 2篇

最新评论

  • 浙政钉扫一扫获取用户信息

    及時行樂429: Closing connections idle longer than 30 SECONDS 调用后控制台打印这个怎么解决

  • 浙政钉扫一扫获取用户信息

    Pod3Gs: 获取二维码的那个地址他返回我【无效的应用标识】是什么原因

  • 浙政钉扫一扫获取用户信息

    霞之丘诗音: 专有钉钉如何上线到政务钉呢

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 获取json格式中所有的id包括子级
  • 日期和键盘弹框一起出现
  • Visual Studio Code 好用插件
2023年2篇
2022年1篇
2021年9篇
2020年6篇
2019年2篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源专业合作社起什么名字好听射手座男人的性格周易起名测字测试打分结果花牛歌仿写7画起名用字华同社区顺义地震双鱼座女人好用免费的起名软件起名词典取名字典windows7激活密钥魔兽地图包龙阙1518姓名测试打分起名测试打分苏联二战电影grasshopper下载商业楼起名柯振东十八书屋bl动漫大全给属蛇宝宝起名宜用字涂壁潘字女人起名大全起名大全集邪御天娇无删减全文下载给公司起名搞笑包姓的男孩起名字术士起名字中世纪小说入党积极分子考察意见淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化