zoukankan      html  css  js  c++  java
  • 钉钉开发笔记(一)

    钉钉开发分为:1、移动客户端。2、PC端。3、服务端。三个平台的开发。

    1、移动端:面对钉钉手机用户和企业用户。

    2、同上主要面向PC端的用户和企业。

    3、服务端,用于用户和企业内部管理的平台方向,例如OA网站。

    本人主要从事移动端和PC端的开发,所以,本笔记主要记录在这些问题中遇见的问题和困难,希望对大家有所帮助!

    开发流程:

    一、免登流程图   点击查看步骤

     

    二、步骤详细:

    步骤1:获取CorpID、CorpSecret(在企业钉钉微应用设置中获取)

     

    步骤2:获取AccessToken。

    开发者在调用开放平台接口前需要通过CorpID和CorpSecret获取AccessToken。获取AccessToken的方法是向 

    https://oapi.dingtalk.com/gettoken?corpid=id&corpsecret=secrect GET请求。

     

     

    步骤3获取jsapi_ticket(服务器中调用,用以生成可用的ticket)点击查看官方文档 

     

    获取jsapi_ticket

    企业在使用微应用中的JS API时,需要先从钉钉开放平台接口获取jsapi_ticket生成签名数据,并将最终签名用的部分字段及签名结果返回到H5中,JS API底层将通过这些数据判断H5是否有权限使用JS API。

    请求说明

    Https请求方式:GET

    https://oapi.dingtalk.com/get_jsapi_ticket?access_token=ACCESS_TOKEN

     

     

    步骤4:签名生成算法

    开发者在web页面使用钉钉容器提供的jsapi时,需要验证调用权限,并以参数signature标识合法性

    签名生成的规则:

    List keyArray = sort(noncestr,timestamp,jsapi_ticket,url);

    String str = assemble(keyArray);

    signature = sha1(str);

     

    参与签名的字段包括在上文中获取的jsapi_ticket,noncestr(随机字符串,自己随便填写即可),timestamp(当前时间戳,具体值为当前时间到1970年1月1号的秒数),url(当前网页的URL,不包含#及其后面部分,需要对url中query部分做一次urldecode)。例如:

    noncestr=Zn4zmLFKD0wzilzM

    jsapi_ticket=mS5k98fdkdgDKxkXGEs8LORVREiweeWETE40P37wkidkfksDSKDJFD5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcKIDU8l

    timestamp=1414588745

    url=//open.dingtalk.com

    注意:若页面url为http://abc.com?url=http%3A%2F%2Fabc.com%2somewhere,则用于生成签名的url应对query部分做一次urldecode,正确结果应为http://abc.com?url=http://abc.com/somewhere

    步骤1. sort()含义为对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)

    步骤2. assemble()含义为根据步骤1中获的参数字段的顺序,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串

    步骤2. sha1()的含义为对在步骤2拼接好的字符串进行sha1加密。

     

     

     

    步骤5:获取免登用户信息 击查看官方文档

     

    CODE换取用户身份

    企业应用的服务器在拿到CODE后,需要将CODE发送到钉钉开放平台接口,如果验证通过,则返回CODE对应的用户信息。**此接口只用于免登服务中用来换取用户信息**

    求说

    Https请求方式: GET

    https://oapi.dingtalk.com/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE

     

  • 相关阅读:
    Opencv(1)介绍篇
    植被覆盖度制图
    GIS应用开发AO(2)-空间分析ITopologicalOperate
    GIS应用开发AO(1)_普通几何图形绘制
    初识机器学习-人脸识别
    ArcGIS API for javascript4.3——RouteTask
    javascript学习(1)随机点名应用
    生活感悟之六
    生活感悟之五
    生活感悟之四
  • 原文地址:https://www.cnblogs.com/tig666666/p/6115770.html
Copyright © 2011-2022 走看看