明道开放平台API调用指南

分享  收藏
6 / 2114

第一部分:开放平台 API

开发前的准备

  1. https://open.mingdao.com/先创建一个应用(先用明道账号登录),点击“我的应用”

  1. 点击创建新应用

  1. 应用名称、图标、简介、描述、分类,这些内容随便填一下。应用范围选择“公共应用”。注意下面有个回调地址,后面需要用到,这里可以随便填写一个地址,比如明道云 webhook 自动生成的地址。

  1. 创建完成后,点击详情信息。

  1. 点击测试这个应用

  1. https://app.mingdao.com/根据名称搜索你上面建立的应用,点击安装。

到此,开发前期的准备工作已完成。

二、开发

  1. 1、拿到 code(参考:https://open.mingdao.com/doc/oauth2/oauth2/authorize

按照如下方式拼接调用参数,其中 app_key 可以从创建的应用处拿到。

  1. 拼接好参数后,将链接粘贴到浏览器窗口,点击访问,即可拿到返回的 code。

  1. 拿到 token(参考:https://open.mingdao.com/doc/oauth2/oauth2/access_token

按照如下格式,拿到获取 token 所需要的参数。

  1. 由于这里拿到的 token 是 24 小时有效期,所以可以建立个工作流。(应该有永久 token 的办法,我在研究下)

  1. 返回的 access_token 就是我们需要的令牌,可供后续接口调用验证。

三、调用

  1. 选择一个接口进行调用,这里我用了个简单的接口进行测试。(https://open.mingdao.com/doc/v1/user/get_user_card
  2. 需要的参数上面我们都说过了,这里就不在介绍了。

  1. 成功返回参数。

好了,到这里,开放平台 API 的调用相信你已经掌握了,快去调用其他接口试试!

第二部分:企业授权开发接口

文档地址:https://www.showdoc.com.cn/mingdao/15519621

1、获取 AppKey、SecretKey

组织管理 -集成- 其他 - 查看密钥,注意:这里不要随便点击重新生成,否则会影响别人已经在用的流程。

2、生成签名

通过代码块,生成签名,这里建议搭建一个封装业务流程,后续别的接口都会用签名,可以直接调用。

var crypto = require('crypto');
var _ = require('lodash');
function getSignature(appKey, secretKey) {
    var date = new Date();
    var timestamp = date.getTime();
    var tempdata = {
        "AppKey": appKey,
        "SecretKey": secretKey,
        "Timestamp": timestamp.toString()
    };
    var signstr = '';
    _(tempdata).keys().sort().each(function(key) {
        signstr = signstr + '&' + key + '=' + tempdata[key];
    });
    signstr = signstr.substring(1);
    return {
        'sign': base64(sha256(signstr)),
        'timestamp': timestamp.toString(),
        'signstr': signstr  //查看变量拼接是否正确
    };
}
function sha256(s) {
    var hash = crypto.createHash('sha256');
    hash.update(s, 'utf8');
    return hash.digest('hex').toLowerCase();
}
function base64(s) {
    var result = new Buffer.from(s, 'utf8');
    return result.toString('base64');
}
output = getSignature(input.appkey, input.secretkey);


3、选择一个接口调用

这里以一个简单的获取流程待办计数为例(https://www.showdoc.com.cn/mingdao/9586887535900956),这里我做一了一个表单,将调用所需要的信息存了进去。

工作流中,首先调用封装业务流程获取到所需要的 timestamp、sign

按照接口调用说明,拼接所需要的参数,这里用户 ID 可以实现通过工作流获取,由于用户 ID 基本上是不变的,拿到后可以固定存放起来。

打印输出内容

恭喜你,到这里,相信你已经学会了企业授权开发接口的开发,快去试试吧。

文档中的样例应用,需要的自取
API 调用教学_20240401_1015.mdy