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

这里以专有钉钉为例

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><bodystyle="text-align:center"><iframestyle="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.cnexecutableClient.setDomainName("openplatform.dg-work.cn");executableClient.setProtocal("https");//应用App KeyexecutableClient.setAccessKey("******");//应用App SecretexecutableClient.setSecretKey("******");executableClient.init();}@RequestMapping(value = "/getUserInfo",produces = {"application/json;charset=UTF-8"})@ResponseBodypublic 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);//调用APIString 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", "");//调用APIString 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/#/

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

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

浙政钉扫一扫获取用户信息相关推荐

  1. PHP 实现微信关注公众号或扫码实现获取用户信息

    php微信关注公众号或扫码实现获取用户信息(内含简易框架搭建,可复用) 概述 用户可通过扫描二维码进行关注或单纯进行扫码操作,实现获取用户微信信息,提高公众号关注率 详细 流程 准备工作 准备公众号及 ...

  2. keycloak单点登录(浙政钉2.0扫码、手机号验证码登录)

    写在前面:本篇博客只针对前端代码实现,keycloak配置什么的,自己和后端或者运维联调吧.说实在的,因为不熟悉keycloak代码的逻辑,再加上时间紧,所以搞了一些很多骚操作. 登录这些前端代码是写 ...

  3. 浙政钉 扫码 免登集成

    Springboot+浙政钉 扫码免登 集成 初次编写博客 有不到之处 请指出 谢谢 应用上架 第一步申请isv入驻 第二步用isv账号添加用户和机构 专有钉下载地址 第三步用isv账号在团队管理授权 ...

  4. 项目对接浙政钉发送工作消息到浙政钉用户

    项目对接浙政钉发送工作消息到浙政钉用户 一:项目背景 项目需要将设备采集的异常信息,推送给浙政钉的运维用户. 二对接浙政钉消息组件 首先需要注册isv,注册地址为 专有钉钉门户 (dg-work.cn ...

  5. PHP微信公众号网页授权登录 扫码登录 获取用户基本信息

    前言 现在微信登录是一个网站.APP的标配,所以微信授权登录是我们应该要掌握的.微信授权登录有4种方式: 1.通过微信开放平台 2.通过认证的微信服务号 3.通过认证的微信订阅号 4.通过微信小程序曲 ...

  6. 关于网页版微信扫码登录以及获取用户信息

    由于我只研究了1天时间,可能有些地方认知错误 1:网页版微信扫码登录的流程 ① 点击扫码登录按钮 ② qrAuthorize(访问微信接口,如果微信接口判断有权限生成二维码的话,跳转到二维码页面.) ...

  7. 专有钉钉 浙政钉 前端 对接流程(小程序)

    主要开发流程 本公司专有钉钉开发平台账号(公司钉钉超管注册 给开发人员权限) 超管按照文档给予开发人员权限 创建项目 下载开发工具 配置专有钉钉开发环境 免登录(用户不用输入账号密码直接登录) 根据业 ...

  8. 浙政钉踩坑记录:真机调试-H5APP 不存在

    ​ 官方文档虽说都写了,但是具体问题,没有方案--没错不好用╭(╯^╰)╮,网上可以找到的解决方案寥寥无几 统一项目背景:uniAPP写钉钉小程序(浙政钉),遇到的一些问题 一.问题:真机调试--二维 ...

  9. 【浙政钉】第四篇:浙政钉创建群聊、消息接入、发送

    背景 浙政钉上架应用可创建群聊,和用户单聊等. 版权 本文允许转载,转载请写上原文地址,谢谢!作者:曹震 目录 一.准备工作 二.浙政钉系列 三.接口开发 1.特别说明 1.1访问IP不在白名单中,r ...

最新文章

  1. 安装JAVA内部错误61003_JDK1.8 安装报内部错误:61003
  2. 算数运算符/空值问题
  3. 【Java 笔记】 java 格式化输出
  4. 星座图(2020特长生 T4)
  5. [20170617]vim中调用sqlplus.txt
  6. Python 各种运算符 布尔运算 迭代器
  7. IDEA自动生成序列化ID
  8. Android开发笔记(六十三)HTTP访问的通信方式
  9. Mybatis经验总结
  10. jquery easyui validatebox remote使用
  11. JAVA ajax搜索框_JAVAEE AJAX实现搜素框关键字提示语功能
  12. XMind软件简易使用教程
  13. 2020年7月的光立方包含程序和PCB文件
  14. rom大小 stm32f205_最小的基于STM32F205VE的系统板
  15. 华为 - 路由交换基础
  16. png格式转eps格式
  17. 夜光:Java语言基础学习笔记(三)在校资源
  18. gdb调试 程序退出没有堆栈信息([Inferior 1 (process 12867) exited with code 0177])
  19. java 跨 module 引入包不成功问题
  20. 音频格式的汇总及压缩比较

热门文章

  1. 计算字符串中个某字符的数量
  2. 双系统:Win10+Ubuntu(UEFI启动模式)
  3. 二、BLDC矢量控制基础知识:SVPWM原理
  4. 基于MATLAB GUI的环境温湿度检测界面设计
  5. Centos7 查看磁盘i/o, 定位占用i/o读写高的进程
  6. charset参数 sqluldr2_oracle sqluldr2工具使用方法介绍
  7. svn建立分支linux,linux命令——svn分支創建、合並
  8. PCB阻抗设计及Polar Si9000 PCB阻抗计算软件的使用
  9. python修改app定位_appnium定位+操作方式(python)
  10. TurboMosaic for Mac如何制作个性化的照片马赛克拼图