当前位置: 首页 > news >正文

贵阳网站建设 赶集/个人微信管理系统

贵阳网站建设 赶集,个人微信管理系统,wordpress改底部信息,做网站准备的资料文章目录 前言准备1、创建钉钉应用,并开放网页应用2、配置网页应用各项参数发布版本 前端改造后端逻辑1、获取应用免登录 Access_token2、通过免登录 Access_token 和 Auth_Code 获取对应登录人信息 注意事项 前言 PC端的钉钉中工作台,增加第三方应用&a…

文章目录

  • 前言
  • 准备
    • 1、创建钉钉应用,并开放网页应用
    • 2、配置网页应用各项参数
    • 发布版本
  • 前端改造
  • 后端逻辑
    • 1、获取应用免登录 Access_token
    • 2、通过免登录 Access_token 和 Auth_Code 获取对应登录人信息
  • 注意事项

前言

PC端的钉钉工作台,增加第三方应用,实现点击后自动授权登录逻辑。

准备

1、创建钉钉应用,并开放网页应用

在这里插入图片描述

2、配置网页应用各项参数

在这里插入图片描述

https://ip:port/#/midPageDingTalk?apiParams=$CORPID$

发布版本

在这里插入图片描述

前端改造

参考官方文档requestAuthCode

当点击站内的应用后,钉钉会按照配置页面地址,自动进入到配置的前端页面中。此时前端页面中增加一些逻辑,用来获取随机码AuthCode

dd.requestAuthCode({corpId: 'corpid',clientId: 'clientid',onSuccess: function (result) {/*{code: 'hYLK98jkf0m' //string authCode}*/},onFail: function (err) {},
});

返回数据样例:

{ "code": "fea65576013237fba6ca6c5b16a85ff5" }

后端逻辑

主体逻辑可以参考官方文档中给出的demo,但有坑,已自己踩过。
在这里插入图片描述

1、获取应用免登录 Access_token

官方给出的这个案例中,不存在对应的GetTokenRequest对象,但整体逻辑可以使用下面这个做替换。

import com.alibaba.fastjson.JSONObject;
import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponse;
import lombok.extern.slf4j.Slf4j;/*** https://open.dingtalk.com/document/orgapp/obtain-the-access_token-of-an-internal-app*/
@Slf4j
public class GetAccessTokenDemo {/*** 使用 Token 初始化账号Client* @return Client* @throws Exception*/public static com.aliyun.dingtalkoauth2_1_0.Client createClient() throws Exception {com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();config.protocol = "https";config.regionId = "central";return new com.aliyun.dingtalkoauth2_1_0.Client(config);}public static void main(String[] args) throws Exception {com.aliyun.dingtalkoauth2_1_0.Client client = createClient();com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenRequest getAccessTokenRequest = new com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenRequest().setAppKey("应用clientId").setAppSecret("应用 Client Secret ");GetAccessTokenResponse accessToken = client.getAccessToken(getAccessTokenRequest);log.info("请求回执信息:{}", JSONObject.toJSONString(accessToken.getBody()));// {"accessToken":"6315e4d453583c69b1fb89ae455ba772","expireIn":7200}System.out.println(accessToken.getBody().accessToken);}
}

2、通过免登录 Access_token 和 Auth_Code 获取对应登录人信息

官方文档:通过免登码获取用户信息

import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiV2UserGetuserinfoRequest;
import com.dingtalk.api.response.OapiV2UserGetuserinfoResponse;
import com.taobao.api.ApiException;public class GetUserInfo {public static void main(String[] args) throws ApiException {DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getuserinfo");OapiV2UserGetuserinfoRequest req = new OapiV2UserGetuserinfoRequest();req.setCode("钉钉返回给出的 authcode 值");OapiV2UserGetuserinfoResponse rsp = client.execute(req, "获取到的 access_token 值");System.out.println(rsp.getBody());}
}

返回数据案例:

{"errcode": 0, "result": {"associated_unionid": "N2o5U3axxxx", "unionid": "gliiW0piiii02zBUjUxxxx", "device_id": "12drtfxxxxx", "sys_level": 1, "name": "张xx", "sys": true, "userid": "userid123"}, "errmsg": "ok"
}

注意事项

钉钉开发中心中配置项,配置完成后想要钉钉工作台中出现指定的入口,必须进行发布操作。只有发布成功后才会生效。
在这里插入图片描述

http://www.jmfq.cn/news/5351041.html

相关文章:

  • 本地手机网站建设服务/亚马逊开店流程及费用
  • 中城投建设集团网站/怎么建网站平台卖东西
  • 浙江省建设厅网站首页/国际新闻今天最新消息
  • 淘宝开网站建设店铺分析/群发软件
  • 河北省电力建设第一工程公司网站/安卓系统最好优化软件
  • 专业网站建设广州/网络平台有哪些?
  • 安徽建设厅网站施/企业网站建设的步骤
  • 源丰建设有限公司网站/seo和sem的区别是什么
  • 建设网站收费明细/福建seo排名
  • 宁德市住房和城乡建设局新网站/项目推广方式有哪些
  • 江苏SEO网站建设/企业网站建设方案
  • 天津网站建设zymxart/教育机构网站
  • 校园网站规划与建设/西安霸屏推广
  • 昆明市城市建设档案馆网站/欧洲站fba
  • 开原网站网站建设/搜索引擎推广的优势
  • 济南美赞网站建设公司/网络搜索关键词排名
  • 建设部证书查询网站/天津百度快照优化公司
  • 网站建设的进度表/品牌运营策划
  • 郴州市住房和城乡建设局网站/短视频代运营方案策划书
  • 网站群建设座谈会/济宁百度推广公司
  • 青海网站 建设/建设网页
  • 如何在服务器里建设网站/重庆seo关键词优化服务
  • 山西建设网站的公司/河南网站推广优化排名
  • 卫计局网站建设信息公开总结/发布新闻
  • 南通市规划建设局网站/企业推广网站有哪些
  • 南通网站建设top/每日舆情信息报送
  • 保定移动网站建设/优化方案电子版
  • 网站商城建设价格/最新军事报道
  • 海南省交通工程建设局网站/网上电商平台开发
  • 遵化市城乡建设规划局网站/网站查询是否安全