钉钉应用接入、免登、前端,简单易懂,省去你翻阅文档的时间

21 篇文章 0 订阅
11 篇文章 0 订阅

**

1. 概述

接入钉钉并免登录,对前端而言需要传给后端的是两个code,至于后端用到哪个就取哪个,传过去的code类似于账号密码,代表此钉钉用户的唯一信息,该code由钉钉返回给前端,前端传给后端,后端用此code调用钉钉提供的api获取具体用户信息等等,两个code的获取方式如下:

2. 具体获取方式

  1. authCode 获取方式
    在钉钉后台配置应用icon、应用名称、应用地址时,应用地址填写钉钉提供的固定的一串url,此url中拼接进次应用首页的地址即可,钉钉提供的这个url会自动跳转到钉钉的页面,然后解析出地址中拼接的应用url并重定向跳转,跳转过去的同时会在url后面拼接上authCode,前端在页面中解析出url中的authCode参数并传给后端即可,具体链接如下:

https://login.dingtalk.com/oauth2/challenge.htm?redirect_uri=http://***.com/user/ding/login&response_type=code&client_id=***&scope=openid%20corpid&prompt=consent&FEForceLogin=true&corpId=***

此地址中有三个参数是活的,其他都是钉钉提供的写死的,这三个参数分别是

  1. redirect_uri:具体要跳转的你此应用对应的地址,钉钉会解析出里面的这个参数,跳转过去并且拼接上authCode,类似这种http://***.com/user/ding/login&authCode=123456
  2. client_id:在钉钉应用开发平台中配置时,你的配置后台中凭证与基础信息中获取
  3. corpId:在钉钉应用开发平台中配置时,你的配置后台中凭证与基础信息中获取

注:此地址固定部分由钉钉提供,具体可能随着版本变动有变化,建议去官方文档中对比一下,但具体使用方式不会变

  1. code获取方式
    通过钉钉提供的dingtalk-jsapi插件获取,具体代码如下
import * as dd from 'dingtalk-jsapi'; // 此方式为整体加载,也可按需进行加载

dd.ready(() => {
   dd.runtime.permission.requestAuthCode({
     corpId: corpId as string, // 企业id
     // @ts-ignore
     onSuccess: (info) => {
       const code = info.code
       
     },
     onFail: () => null,
   });
 });
}

其中的corpId变量获取方式同上面一样,在配置后台中凭证与基础信息中获取

3. 除了上述的两个code的获取,还要在header标签中添加meta和script两个标签,以实现监控功能,具体代码去后台配置中获取:

在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里云物联网平台提供了Android SDK,可以帮助开发者快速接入设备。下面简单介绍如何使用Android Studio版的阿里云物联网平台SDK接入设备。 步骤1:创建设备 在阿里云物联网平台创建一个设备,将设备的三元组(ProductKey、DeviceName、DeviceSecret)记录下来。 步骤2:集成SDK 下载阿里云物联网平台Android SDK,将下载的SDK文件解压缩,将其中的“aliyun-iot-sdk-android.jar”文件拷贝到Android Studio项目的“libs”目录下。 步骤3:添加依赖 在项目的“build.gradle”文件中添加以下依赖: ```implementation 'com.alibaba:fastjson:1.2.31'``` 步骤4:添加权限 在项目的“AndroidManifest.xml”文件中添加以下权限: ``` <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ``` 步骤5:初始化SDK 在需要使用SDK的Activity的“onCreate”方法中,添加以下代码进行SDK初始化: ``` // 初始化IoT物联网实例 IoTAPIClient ioTAPIClient = new IoTAPIClient.Builder() .setAppKey(appKey) .setAuthInfo(authInfo) .setConnectProtocol(IoTConnectProtocol.CONNECT_PROTOCOL_TCP) .build(); // 初始化设备 Device device = ioTAPIClient.getDevice(productKey, deviceName, deviceSecret); ``` 其中,appKey和authInfo是阿里云物联网平台授权信息,需要在阿里云物联网平台获取。productKey、deviceName和deviceSecret是在步骤1中获取的设备三元组。 步骤6:发送消息 使用设备实例,可以向阿里云物联网平台发送消息。例如: ``` // 发送消息 device.publish("/sys/" + productKey + "/" + deviceName + "/thing/event/property/post", "{\"CurrentTemperature\": " + temperature + "}", 0); ``` 其中,第一个参数是消息的Topic,第二个参数是消息的内容,第三个参数是消息的QoS(0或1)。 以上就是阿里云物联网平台Android SDK的简单接入流程。

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值